很简单的程序,1s定时中断,中断里面printf()一个常数,printf("<>ExeTime=%f
", (float)1862); 主程序里面有软定时器,每隔500ms执行一次查询,我去除了软定时器的任何多余操作,只作复位重启定时,以便调试问题所在。
现象是:1s定时器正常打印3次,然后不正常打印3次为0.0000的0数据,之后有正常打印3次,又打印3次0......如此循环。
调整定时时间,可能会出现正常1次不正常多次的情况。
注释掉软定时器,只使用硬件定时器,结果正常。
可是软定时器使用的是SysTick,而1s定时器使用TIM6基本定时器,并无冲突,除了有优先级外。
我又调整优先级,还是如此。
崩溃了。睡了。
今天刚才无事又调试,一开始程序和昨天一样,没有改动,还是如昨天一样的症状。
我又在主程序里面修改了下,下载,正常了。
我现在还没有仔细看看我究竟改了些什么。
看来是printf()的问题。
一周热门 更多>