请问这句代码怎么理解?#define LED0(n) (n?HAL_GPIO_WritePi…

2019-07-20 02:56发布

如图。这段代码出现在阿波罗F429的HAL库视频按键输入里。请问这个宏定义是如何执行的? "(n)"、"n?"和":"都是些什么乱七八糟的东西?

#define LED0(n)  (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET))
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
luhua2018
1楼-- · 2019-07-20 12:29
翼行园子 发表于 2019-3-29 09:24
判断N是否为真,0为假 非零为真 真执行HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET)    假执行HAL_GP ...

吆西。C语言还能这么写,长学问了
luhua2018
2楼-- · 2019-07-20 05:05
 精彩回答 2  元偷偷看……
翼行园子
3楼-- · 2019-07-20 09:37
 精彩回答 2  元偷偷看……
peng1554
4楼-- · 2019-07-20 15:21
luhua2018 发表于 2019-3-29 10:25
吆西。C语言还能这么写,长学问了

百度一波C语言的三目运算符,用法资料蛮多的

一周热门 更多>