12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #include "stm32f1xx_hal.h"
- //若定义这个宏,使用硬件iic,否则使用软件iic,
- //#define HARD_IIC
- /*********************软件IIC使用的宏****************************/
- #define Soft_I2C_SDA GPIO_PIN_7
- #define Soft_I2C_SCL GPIO_PIN_6
- #define Soft_I2C_PORT GPIOB
- //
- #define Soft_I2C_SCL_0 HAL_GPIO_WritePin(Soft_I2C_PORT, Soft_I2C_SCL, GPIO_PIN_RESET)
- #define Soft_I2C_SCL_1 HAL_GPIO_WritePin(Soft_I2C_PORT, Soft_I2C_SCL, GPIO_PIN_SET)
- #define Soft_I2C_SDA_0 HAL_GPIO_WritePin(Soft_I2C_PORT, Soft_I2C_SDA, GPIO_PIN_RESET)
- #define Soft_I2C_SDA_1 HAL_GPIO_WritePin(Soft_I2C_PORT, Soft_I2C_SDA, GPIO_PIN_SET)
- /**************************I2C参数定义,I2C1或I2C2********************************/
- #define SENSORS_I2Cx I2C1
- #define SENSORS_I2C_SCL_PORT GPIOB
- #define SENSORS_I2C_SCL_PIN GPIO_Pin_6
- #define SENSORS_I2C_SDA_PORT GPIOB
- #define SENSORS_I2C_SDA_PIN GPIO_Pin_7
- /*等待超时时间*/
- #define I2CT_FLAG_TIMEOUT ((uint32_t)0x1000)
- #define I2CT_LONG_TIMEOUT ((uint32_t)(10 * I2CT_FLAG_TIMEOUT))
- extern void I2C_Bus_Init(void);
- extern void Set_I2C_Retry(unsigned short ml_sec);
- extern unsigned short Get_I2C_Retry(void);
- extern uint8_t Soft_DMP_I2C_Read(uint8_t soft_dev_addr, uint8_t soft_reg_addr, uint8_t soft_i2c_len,uint8_t *soft_i2c_data_buf);
- extern void Sensors_I2C_ReadRegister(uint8_t Address, uint8_t RegisterAddr,
- uint8_t RegisterLen, uint8_t *RegisterValue);
- extern void Sensors_I2C_WriteRegister(uint8_t Address, uint8_t RegisterAddr,
- uint8_t RegisterLen, uint8_t *RegisterValue);
-
-
-
-
|