您的位置:首页 > 其它

很偏僻的运行错误,编译成功,运行失败,原因:语句太长

2012-02-04 12:07 381 查看
 

如下语句, 执行到这里会进入死循环。

 WRITE_REGISTER_ULONG(rNFMECCD0, (DWORD)((DWORD)(eccBuf[1]<<16) | (DWORD)(eccBuf[0]&0xff)));

换成如下语句就没问题:

 rNFMECCD0=(DWORD)((DWORD)(eccBuf[1]<<16) | (DWORD)(eccBuf[0]&0xff) );

 

其中宏如下:

#define WRITE_REGISTER_ULONG(p, v) (*(unsigned long *)(p)) = (v)

#define rNFMECCD0 (*(volatile unsigned *)0x4E000014)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐