IAR中多行的宏定义怎么写?
#define SAMPLE_TEMP_SENSOR(v)
do{
ADCCON2=0x3E;
ADCCON1=0x73;
while(!(ADCCON1&0x80));
v=ADCL;
v|=(((unsigned int)ADCH)<<8);
}
while(0)
这是一个宏定义,但是编译的时候总是报错,不知道该怎么改,轻微哪位能告诉我该怎么改?
[解决办法]
宏应该声明在一行
想换行要打链接符
- C/C++ code
#define SAMPLE_TEMP_SENSOR(v)\ do{\ ADCCON2=0x3E;\ ADCCON1=0x73;\ while(!(ADCCON1&0x80));\ v=ADCL;\ v|=(((unsigned int)ADCH)<<8);\ }while(0)
[解决办法]
换行符 \ ,语句内使用
[解决办法]
宏必须在一行内完成,如果你想写成多行,必须用转义符\把换行符转掉,每行的最后一个字符写成\即可
[解决办法]
行最后加上\表示连接下一行。每行最后加个\。