IARfor430编译器中#define do{}while(0)问题

皓月鸣心 2016-10-14 10:47:12
我在IAR 编译器中采用#define do{}while(0)定义了一个函数,但是编译时一直出现“unrecognized token ,expected a “”;“””

#define SPIInit() do { \
SPI_nss_cfg(1); \
SPI_nss_dat(1); \
SPI_mosi(1); \
SPI_sck(0); \
}while(0)

void InitSX1212 (void)
{
_SX1212_REG const *p;
unsigned char i;
SPIInit();
SetRFMode(RF_SLEEP);
p = RegistersCfg;
for(i=sizeof(RegistersCfg)/sizeof(_SX1212_REG); i>0; i--)
{
SpiWriteCfg(p->addr, p->val);
p++;
}
}



...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿基米东 2016-10-14
  • 打赏
  • 举报
回复
有没有不小心用了中文标点?或者反斜杠(\)后有空格?
侦探蜡笔小新 2016-10-14
  • 打赏
  • 举报
回复
编译器的问题,不要纠结,结尾多加个封号就好了
of123 2016-10-14
  • 打赏
  • 举报
回复
while(0) 后面加上分号 while(0);
1) 本套课程针对高校大学生系统学习C语言而录制,从0基础入门讲起,循序渐进,通俗易懂,同时适用于计算机系及非计算机系的同学。通过学习可以帮助大家掌握C语言本质,轻松面对C语言全国二级考试,并达到能独立完成型C项目、C游戏的水平;2) 多数高校都开设了C语言课程,网上C语言课程也很多,但普遍存在两个问题: (1) 授课方式单一,大多是照着代码念一遍, 对刚刚接触编程的同学来说,感觉晦涩难懂 (2) 授课内容过度注重语法,没有项目实战支撑,造成课程枯燥无趣。本课程针对上述问题进行了改进 (1) 授课方式采用语法讲解+内存布局示意图+项目的方式,让课程生动有趣好理解 (2) 系统全面的讲解了C语言的核心技术点,还配套录制了《全国计算机二级C语言真题精讲》,让学员在掌握C语言编程的同时,还能轻松面对二级考试;3) 课程详细内容: 常量-变量、分支语句、循环语句、操作符和表达式、函数(库函数、自定义函数、递归调用 )、数组(一维数 组、二维数组、数组作为函数参数、指针数组)、指针(指针和指针类型、二级指针和多级指针、指针表达式解析、指针运算、数 组指针、函数指针、回调函数)、调试技巧、程序环境和预处理(翻译环境、运行环境、预定义符号、#define和#undef、宏和函 数、条件编译、文件包含)、 数据在内存的存储、内存块分配、static、字符函数和字符串函数、自定义类型(结构体、枚举 、联合)、动态内存管理、文件操作(i/o常量、i/o函数、流)。

27,383

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧