#ifndef __USER_I2C_H_ #define __USER_I2C_H_ #ifdef __cplusplus extern "C" { #endif #include #include #include "define.h" #define USER_I2C_GPIO_RCC_ENABLE RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB, ENABLE); #define USER_I2C_RCC_ENABLE RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE); #define USER_I2C_DMA_RCC_ENABLE RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); #define USER_I2C_ENABLE GPIO_PinRemapConfig(GPIO_Remap_I2C1, ENABLE); #define USER_I2C I2C1 #define USER_I2C_TX_DMA_CHANNEL DMA1_Channel6 #define USER_I2C_RX_DMA_CHANNEL DMA1_Channel7 #define USER_I2C_TX_DMA_IRQn DMA1_Channel6_IRQn #define USER_I2C_RX_DMA_IRQn DMA1_Channel7_IRQn #define USER_WS2812B_01_DMA_IRQHandler DMA1_Channel6_IRQHandler #define USER_WS2812B_02_DMA_IRQHandler DMA1_Channel7_IRQHandler #define USER_I2C_TX_DMA_IT_TC DMA1_IT_TC6 #define USER_I2C_RX_DMA_IT_TC DMA1_IT_TC7 #define USER_I2C_SCL_GPIO GPIOB #define USER_I2C_SCL_PIN GPIO_Pin_6 #define USER_I2C_SDA_GPIO GPIOB #define USER_I2C_SDA_PIN GPIO_Pin_7 void user_i2c_Init(void); bool bUser_spi_WriteByte(uint8_t idx, volatile uint8_t *TxData, uint32_t TxSize); #ifdef __cplusplus } #endif #endif /* __USER_I2C_H_ */