读书人

IAR中多行的宏定义如何写

发布时间: 2012-04-04 16:38:51 作者: rapoo

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)
[解决办法]
换行符 \ ,语句内使用
[解决办法]
宏必须在一行内完成,如果你想写成多行,必须用转义符\把换行符转掉,每行的最后一个字符写成\即可
[解决办法]
行最后加上\表示连接下一行。每行最后加个\。

读书人网 >C语言

热点推荐