关于CCS在软件延时上的探讨

MrWang_   2012-7-23 09:23 楼主
      在使用CCS的过程中,我发现在有关于有软件延时的程序中会出现问题,感觉延时没起到作用,比如一个简单的例子,让灯闪烁,使用delay函数(函数体内用两个for循环嵌套那种),这种延时就不会有效果,而用i=50000;   while(i--);这种才有效果.而且即使这样你用do  while语句都不行.
         在调试1602时其中也有软件delay延时,用CCS编译出来以后完全没有显示,而以此相同的程序复制到IAR上编译,结果完全正确! 以前TI工程师黄争老师来开讲座的时候我向他提及了这个问题,他说我这个问题比较个体化...
         所以在这个问题上我很是困惑啊,以至于我现在大都用IAR,只有用timer的时候才用CCS,不知论坛里面的兄弟姐妹也是否遇到过这种问题呢?

回复评论 (3)

用CCS的话,最好用自带函数__delay_cycles( );
括号填循环次数就行。
谣言止于智者,聊天止于呵呵
点赞  2012-7-23 16:33
我也遇到了啊,不执行,难道就没有别的方法了吗???为什么直接把delay 函数屏蔽掉了呢
点赞  2012-8-15 13:17
楼主有在CCS下查看C代码的反汇编吗?是否有被编译器优化
点赞  2012-8-31 16:14
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复