首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

IAR中多行的宏定义如何写

2012-04-04 
IAR中多行的宏定义怎么写?#define SAMPLE_TEMP_SENSOR(v)do{ADCCON20x3EADCCON10x73while(!(ADCCON1&0

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

热点排行