#define I2C_SDA0_HIGH GPIOA->BRR = GPIO_Pin_0
#define I2C_SDA0_LOW GPIOA->BSRR = GPIO_Pin_0
#define I2C_SCL1_HIGH GPIOA->BRR = GPIO_Pin_1
#define I2C_SCL1_LOW GPIOA->BSRR = GPIO_Pin_1
//因为传入的x是一个宏,所以需要一个转换宏解开x
#define _I2C_SDAx_HIGH(x) I2C_SDA##x##_HIGH
#define I2C_SDAx_HIGH(x) _I2C_SDAx_HIGH(x)
#define _I2C_SCLx_HIGH(x) I2C_SCL##x##_HIGH
#define I2C_SCLx_HIGH(x) _I2C_SCLx_HIGH(x)
#define x 0
void I2C_start()
{
I2C_SDAx_HIGH(x);
I2C_SCLx_HIGH(x)
I2C_SDAx_LOW(x);
I2C_SCLx_LOW(x);
}
宏定义##用法
于 2021-04-19 16:16:55 首次发布