| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #ifndef __I2C_H__
- #define __I2C_H__
- /* Definition for I2Cx clock resources */
- #define BSP_I2Cx_SPEED 400000
- #define BSP_I2Cx_SLAVE_ADDRESS 0xf0
- /* Definition for I2Cx Pins, PULL UP in hw */
- #define BSP_I2Cx_SCL_GPIO_PORT GPIOB
- #define BSP_I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
- #define BSP_I2Cx_SCL_PIN GPIO_PIN_10
- #define BSP_I2Cx_SCL_PULL GPIO_NOPULL
- #define BSP_I2Cx_SDA_GPIO_PORT GPIOB
- #define BSP_I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
- #define BSP_I2Cx_SDA_PIN GPIO_PIN_11
- #define BSP_I2Cx_SDA_PULL GPIO_NOPULL
- #define BSP_EEROM_WRITE_PROTECT_PORT GPIOB
- #define BSP_EEROM_WRITE_PROTECT_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
- #define BSP_EEROM_WRITE_PROTECT_PIN GPIO_PIN_0
- #define BSP_EEROM_WRITE_PROTECT_PULL GPIO_NOPULL
- #define BSP_EEROM_WRITE_ENABLE() HAL_GPIO_WritePin(BSP_EEROM_WRITE_PROTECT_PORT, BSP_EEROM_WRITE_PROTECT_PIN, GPIO_PIN_RESET)
- #define BSP_EEROM_WRITE_FORBIDEN() HAL_GPIO_WritePin(BSP_EEROM_WRITE_PROTECT_PORT, BSP_EEROM_WRITE_PROTECT_PIN, GPIO_PIN_SET)
- #define BSP_RTC_INTERRUPT_PORT GPIOB
- #define BSP_RTC_INTERRUPT_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
- #define BSP_RTC_INTERRUPT_PIN GPIO_PIN_1
- #define BSP_RTC_INTERRUPT_PULL GPIO_NOPULL
- #define BSP_RTC_INTERRUPT_IRQn EXTI1_IRQn
- #define BSP_RTC_INTERRUPT_PRIORITY 0x05
- /*Device Address*/
- #define BSP_RTC_WR_ADDRESS 0x64
- #define BSP_RTC_RD_ADDRESS 0x65
- #define BSP_EEROM_WR_ADDRESS 0xA0
- #define BSP_EEROM_RD_ADDRESS 0xA1
- #define BSP_I2Cx_SCL_HIGH() HAL_GPIO_WritePin(BSP_I2Cx_SCL_GPIO_PORT, BSP_I2Cx_SCL_PIN, GPIO_PIN_SET)
- #define BSP_I2Cx_SCL_LOW() HAL_GPIO_WritePin(BSP_I2Cx_SCL_GPIO_PORT, BSP_I2Cx_SCL_PIN, GPIO_PIN_RESET)
- #define BSP_I2Cx_SDA_HIGH() HAL_GPIO_WritePin(BSP_I2Cx_SDA_GPIO_PORT, BSP_I2Cx_SDA_PIN, GPIO_PIN_SET)
- #define BSP_I2Cx_SDA_LOW() HAL_GPIO_WritePin(BSP_I2Cx_SDA_GPIO_PORT, BSP_I2Cx_SDA_PIN, GPIO_PIN_RESET)
- #define BSP_I2Cx_SCL_STATUS() HAL_GPIO_ReadPin(BSP_I2Cx_SCL_GPIO_PORT, BSP_I2Cx_SCL_PIN)
- #define BSP_I2Cx_SDA_STATUS() HAL_GPIO_ReadPin(BSP_I2Cx_SDA_GPIO_PORT, BSP_I2Cx_SDA_PIN)
- //#define I2C_DELAY_COUNT 12
- #define I2C_DELAY_COUNT 2
- void I2C_Device_Init(void);
- void I2C_GPIO_Out_Config(void);
- void I2C_GPIO_In_Config(void);
- void I2C_Start(void);
- void I2C_Stop(void);
- uint8_t I2C_Wait_Ack(void);
- void I2C_Ack(void);
- void I2C_NAck(void);
- #endif
|