永发信息网

#define PWM_PCR_PWMENAn(n) ((uint32_t)(((n&0x7)<1) ? 0 : (1<<(n+8))))的问好“?”是什么作用

答案:1  悬赏:30  手机版
解决时间 2021-02-07 20:43
  • 提问者网友:感性作祟
  • 2021-02-07 17:16
0 再用LPC1768的时候,出现了预定义#define PWM_PCR_PWMENAn(n) ((uint32_t)(((n&0x7)&lt: (1
最佳答案
  • 五星知识达人网友:痴妹与他
  • 2021-02-07 18:19
这是 C++ 的三目运算符
#define PWM_PCR_PWMENAn(n) ((uint32_t)(((n&0x7)<1) ? 0 : (1<<(n+8))))

整个语句是一个宏定义
在代码中出现 x= PWM_PCR_PWMENAn(n) //n 会是一个值,

就会转换成 如下代码
x= ((uint32_t)(((n&0x7)<1) ? 0 : (1<<(n+8))));
即 n与 0x7 逐位相与;如果 小于1 为真,x= 0;否则 x= 1<<(n+8).
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯