关于c语言宏定义这里是怎么用的?
#defineLED_BLUE\LED1_OFF;\LED2_OFF\LED3_ON把\去掉是变成LED_BLUELED1_OFF;LED2_OFFLED3_ON吗这里L...
#define LED_BLUE \ LED1_OFF;\ LED2_OFF\ LED3_ON把\去掉是变成 LED_BLUE LED1_OFF;LED2_OFFLED3_ON 吗这里LED1_OFF;函数加冒号LED2_OFF LED3_ON后面两个不加冒号。1.冒号是做什么的?2.宏定义可以执行多条函数吗?
展开
展开全部
那个是分号,不是冒号。这个分号的作用就是函数调用语句末尾的分号
例如LED_BLUE宏展开后为digitalHi(LED1_GPIO_PORT,LED1_GPIO_PIN);digitalHi(LED2_GPIO_PORT,LED2_GPIO_PIN);digitalLo(LED3_GPIO_PORT,LED3_GPIO_PIN)
你只需要使用“LED_BLUE;”语句就可以关闭LED1和2,打开LED3。
宏定义可以执行多条函数,宏定义的本质实际上是文本替换,把宏定义的内容原原本本地替换到宏使用的地方。
另外,LED2_OFF后面似乎也应该有个分号,否则编译应该会出错的。除非LED2_OFF宏定义里加了分号。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询