查看: 16158|回复: 14

CC2530开发板学习中延时一个要注意的问题

[复制链接]
xingqing 发表于 2010-7-30 00:40:06 | 显示全部楼层 |阅读模式
本帖最后由 xingqing 于 2010-7-30 00:41 编辑

在看outman的“CC2530开发板学习教程(二)-- 例1.基于Basic RF的无线电灯控制”的时候,我简单的看了看大体的程序,
其中有看到延时这段的程序,如下所示
#pragma optimize=none
void halMcuWaitMs(uint16 msec)
{
    while(msec--)
        halMcuWaitUs(1000);
}
刚开始以为#pragma optimize=none跟下面的延时程序是没有关系的,但是我错了,经过查资料,才知道。。。。
对#pragma optimize=none的解释如下:
http://blog.21ic.com/user1/5759/archives/2009/63650.html
这里已经讲的狠明白了
outman 发表于 2010-7-30 08:37:54 | 显示全部楼层
恩,延时函数对时序要求严.多谢楼主分享
wuxiujiang 发表于 2010-9-11 11:37:57 | 显示全部楼层
IAR EWARM编译器和其他厂家的C编译器相比非常高效,但是当程序里面包含对时序要求比较严格的代码的时候,IAR常常会把这些代码过渡优化,破坏了时序的要求,造成程序错误,在程序代码比较紧的时候又必须优化,
这是可以在包含时序要求比较严格的代码的函数前面,用#pragma optimize=none不进行优化或者#pragma optimize=low进行低级优化,

例如
#pragma optimize=none
void A()
{
}
指示不对A()函数优化
 楼主| xingqing 发表于 2010-9-11 11:42:09 | 显示全部楼层
回复 3# wuxiujiang


    楼上正解  呵呵 以后多多交流
ZIGBEE 发表于 2010-10-15 18:47:04 | 显示全部楼层
我也在研究CC2530呢  不知楼主研究里面那个射频了没有  我的QQ659257573  交流一下喽
zfzdhz 发表于 2010-11-30 21:49:10 | 显示全部楼层
多谢 又掌握一个知识点
xiaoyige 发表于 2011-1-27 14:16:26 | 显示全部楼层
顶顶顶顶顶顶
anbin 发表于 2011-3-18 12:16:43 | 显示全部楼层
受教,多谢!
wukaiing 发表于 2011-4-18 16:40:38 | 显示全部楼层
多谢指点。。。
steel2006 发表于 2011-5-11 08:43:02 | 显示全部楼层
嗯,学习了,谢谢!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表