发现一个很奇怪的问题:IAR 430中的delay函数会死机·······
本帖最后由 guxingganyue 于 2012-8-9 14:54 编辑前几天用IAR 430 5.20版写149的程序,硬件仿真和实际运行发现delay函数出现了死循环。
delay函数如下:
#define CPU_F ((double)7372800)//在这里修改你的晶振大小,单位:Hz
/****************************************************************
延时函数
功能:产生软延时
芯片:MSP430F149
目标板:MSP430F1xx最小系统板
编译环境:IAR FOR 430 5.20
时间:2011-08-14
测试说明:本延时函数在ms级延时很准确,us级表现得也不错,2011-08-16
****************************************************************/
#define delay_nus(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_nms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
我单步运行,用汇编语言查看,发现程序一直在两句话之间跳转运行,出不来了。
但这个延时函数是我去年写了,用了好长时间都没问题,这次怎么会死呢????
我有时也发现不是每次这个delay函数都会死,只是一会死一会不死
真是想不通这是怎么回事,,请大家帮忙。。先O(∩_∩)O谢谢了 顶
难道大家没发现这个现象吗
问题已解决,请看:
http://www.amobbs.com/forum.php?mod=viewthread&tid=756021&highlight=iar%2Bdelay IAR 430中的delay函数会死机
the right title for your posts should be:
poorly written函数会死机
页:
[1]