今日在查看一下一个网友的程序,看到如图, 里面的反斜杠用法从来没有见过,希望大家指点一下,多谢!
#ifndef __LED_H
#define __LED_H
#include "stm32f40x.h"
#define ON 0
#define OFF 1
#define LED1(a) if (a)
GPIO_SetBits(GPIOB,GPIO_Pin_5);
else
GPIO_ResetBits(GPIOB,GPIO_Pin_5)
#define LED2(a) if (a)
GPIO_SetBits(GPIOB,GPIO_Pin_6);
else
GPIO_ResetBits(GPIOB,GPIO_Pin_6)
#define LED3(a) if (a)
GPIO_SetBits(GPIOB,GPIO_Pin_7);
else
GPIO_ResetBits(GPIOB,GPIO_Pin_7)
void LED_GPIO_Config(void);
#endif
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
反斜杠是续行用的,反斜杠下一行的内容仿佛就在反斜杠处。也就是C语言编译器解析出来的是一行。
这样用是因为宏定义只在当前行有效。
这贴也发在飞思卡尔略水哇。
但是去掉 反斜杠, 编译就是不通过,加了{},并不是原来程序要的结果, 不懂就问,难道 飞思不用 C语言的,
如果大家的编程水平都是顶呱呱的,还有必要过来论坛学习啊, 续行符这个,结合在宏定义的时候,就是第一次, 难道这不算技术问题啊
多谢你的解疑, 初次遇到 宏定义 与 续行符号的结合用法,飞思单片机也有C 宏定义的吧,这也算水,如果人人都会的话,就不用发帖了
一周热门 更多>