|
- #ifndef __i2c2_H
- #define __i2c2_H
- #include "main.h"
- #include "GloablVar.h"
- #define ANO_GPIO_I2C GPIOB
- #define I2C_Pin_SCL LL_GPIO_PIN_6
- #define I2C_Pin_SDA LL_GPIO_PIN_7
- #define ANO_RCC_I2C LL_RCC_APB2Periph_GPIOB
- /*********************************************/
-
- #define SCL_H LL_GPIO_SetOutputPin(GPIOB, I2C_Pin_SCL)
- #define SCL_L LL_GPIO_ResetOutputPin(GPIOB, I2C_Pin_SCL)
- //#define SCL_H GPIO_SetBits(GPIOB,GPIO_Pin_10)
- //#define SCL_L GPIO_ResetBits(GPIOB,GPIO_Pin_10)
- #define SDA_H LL_GPIO_SetOutputPin(GPIOB, I2C_Pin_SDA)
- #define SDA_L LL_GPIO_ResetOutputPin(GPIOB, I2C_Pin_SDA)
- #define SCL_read LL_GPIO_IsInputPinSet(GPIOB, I2C_Pin_SCL)
- #define SDA_read LL_GPIO_IsInputPinSet(GPIOB, I2C_Pin_SDA)
- #define SDAO_read LL_GPIO_IsOutputPinSet(GPIOB, I2C_Pin_SDA)
-
- #define EEPROM_DEV_ADDR 0xA0 //??(????)
- #define EEPROM_WR 0x00 //?
- #define EEPROM_RD 0x01 //?
- #define EEPROM_WORD_ADDR_SIZE 16
- extern u8 databuff[3];
- extern u8 x,y,z;
- int I2C_Start(void);
- void I2C_Stop(void);
- void I2C_Ack(void);
- void I2C_NoAck(void);
- void I2C_SDA_OUT(void);
- void I2C_SDA_IN(void);
- uint8_t I2C_GetAck(void);
- void I2C_SendByte(uint8_t Data);
- uint8_t I2C_ReadByte(uint8_t ack);
- void I2C_delay(void);
- int EEPROM_ReadByte(uint16_t Addr, uint8_t *Data);
- int EEPROM_WriteByte(uint16_t Addr, uint8_t Data);
- void I2C_Initializes(void);
- u8 Sanzhou_Start(void);
- u8 Who_Am_I(void);
- int Read_XYZ(void);
- #endif /*__ i2c_H */
- /**
- * @}
- */
- /**
- * @}
- */
- /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
復(fù)制代碼
I2C.h 如下。 |
|