芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

STM32 i2c IO代码IC解密

  1. IC解密#include "i2c_analog.h"
  2.     IC解密#include "stm32f0xx.h"
  3.    IC解密 #include "delay.h"
  4.     #define SHT30I2C_SCL GPIO_Pin_0
  5.     #define SHT30I2C_SDA GPIO_Pin_1
  6.     #define GPIO_I2C GPIOA
  7.     #define I2C_SCL_H GPIO_SetBits(GPIO_I2C,SHT30I2C_SCL)
  8.     #define I2C_SCL_L GPIO_ResetBits(GPIO_I2C,SHT30I2C_SCL)
  9.     #define I2C_SDA_H GPIO_SetBits(GPIO_I2C,SHT30I2C_SDA)
  10.     #define I2C_SDA_L GPIO_ResetBits(GPIO_I2C,SHT30I2C_SDA)
  11.     //use analog io
  12.     /*
  13.     PA3--------SDA
  14.     PA4--------SCLK
  15.     */
  16.     #define BIT32_SET(reg,pin,value) (reg = ((reg & ~(0x00000003 << (pin * 2))) | (value << (pin * 2))))//reg:寄存器 pin:管教号 value:参考手册上的设定值
  17.     #define DS18B20_IO_IN()                                 BIT32_SET(GPIOA->MODER,1,0x00)//GPIOA_3模式:输人                                                                                        00: 输入模式( 复位状态)        01: 通用输出模式        10: 复用功能模式        11: 模拟模式
  18.     #define DS18B20_IO_OUT()                                 BIT32_SET(GPIOA->MODER,1,0x01)//GPIOA_3模式:输出        
  19.     static void I2C_SDA_OUT(void)
  20.     {
  21.     //                GPIO_InitTypeDef GPIO_InitStructure;        
  22.     //               
  23.     //                GPIO_InitStructure.GPIO_Pin=SHT30I2C_SDA;
  24.     // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  25.     //                GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  26.     //                GPIO_Init(GPIOA,&GPIO_InitStructure);        
  27.     DS18B20_IO_OUT();
  28.     }
  29.     static void I2C_SDA_IN(void)
  30.     {
  31.     //                GPIO_InitTypeDef GPIO_InitStructure;        
  32.     //               
  33.     //                GPIO_InitStructure.GPIO_Pin = SHT30I2C_SDA;
  34.     // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  35.     //                GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  36.     //                GPIO_Init(GPIOA,&GPIO_InitStructure);
  37.     DS18B20_IO_IN();
  38.     }
  39.     void IIC_GPIOInit(void)
  40.     {                                       
  41.     GPIO_InitTypeDef GPIO_InitStructure;
  42.     /* 使能GPIOA时钟 */
  43.     RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
  44.     /* 配置LED相应引脚PB1*/
  45.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
  46.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  47.     GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  48.     GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  49.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  50.     GPIO_Init(GPIOA, &GPIO_InitStructure);
  51.     I2C_SCL_H;
  52.     I2C_SDA_H;
  53.     //GPIO_SetBits(GPIOA,GPIO_Pin_3); //输出A3
  54.     // GPIO_SetBits(GPIOA,GPIO_Pin_4); //输出A3
  55.     }
  56.     #define I2C_DELAY_CLK 2 //3
  57.     //产生IIC起始信号:
  58.     void IIC_Start(void)
  59.     {
  60.     I2C_SDA_OUT();
  61.             
  62.             I2C_SDA_H;
  63.             I2C_SCL_H;
  64.             //delay_us(I2C_DELAY_CLK);
  65.             I2C_SDA_L;
  66.             //delay_us(I2C_DELAY_CLK);
  67.             I2C_SCL_L;
  68.             //delay_us(I2C_DELAY_CLK);
  69.     }        



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信