为什么 “#define NOP(N) NOP_##N ” 在ICC AVR中通不过编译,语句上哪个地方出错了?

#defineNOP_1asm("nop")//延时一个时钟周期#defineNOP_2NOP_1;asm("nop")//延时两个时钟周期#defineNOP_3NOP... #define NOP_1 asm("nop") //延时一个时钟周期
#define NOP_2 NOP_1; asm("nop") //延时两个时钟周期
#define NOP_3 NOP_2; asm("nop") //延时三个时钟周期
#define NOP_4 NOP_3; asm("nop") //延时四个时钟周期
……
#define NOP_40 NOP_40; asm("nop") //延时40个时钟周期
然后利用“##”操作符,实现带参数宏的延时:
#define NOP(N) NOP_##N //延时 N个时钟周期
展开
 我来答
百度网友d5847c21e
2011-02-18 · 超过43用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:106万
展开全部
格式写的不对吧,你试试这个
#define NOP_2() (NOP_1; asm("nop"))
yangkun10015
2011-02-15 · TA获得超过241个赞
知道小有建树答主
回答量:571
采纳率:0%
帮助的人:368万
展开全部
应该是实参和虚参的原因吧 没有声明N
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式