stm32中#define LCD_cs(x) x ? GPIO_SetBits(GPIOB, LCD_CS) : GPIO_ResetBits(GPIOB, LCD_CS)

这句怎么解释?
2025-03-24 20:33:41
推荐回答(2个)
回答1:

x ? a:b 是一个三目运算符,表达的意思就是判断x的值,如果为真,执行a(这里可以代表一串代码),如果为假,则执行b, 然后#define LCD_cs(x)属于带参数的宏定义,这里宏定义的意思就是在程序中,如果执行LCD_cs(1); 那么就会执行GPIO_SetBits(GPIOB, LCD_CS);,如果执行LCD_cs(0);则执行GPIO_ResetBits(GPIOB, LCD_CS);.如果还有什么疑问可以到百度百科里面去搜索"三目运算符".

回答2:

宏定义了一个函数 , x ? GPIO_SetBits(GPIOB, LCD_CS) : GPIO_ResetBits(GPIOB, LCD_CS)
为函数的主题