2011年8月16日

使用winavr的过程中,遇到的有关volatile的问题

摘要: SIGNAL(SIG_OUTPUT_COMPARE0A){timecount ++;}……while(1){ if(timecount > = 10) { R_LED_ON; timecount = 0; break; }}定时中断设置为2ms一次程序中有这样两部分,执行完前面一部分后,就会在while循环等待,直到进入十次定时中断后,timecount=10,就执行if,退出while循环,功能是用于控制整个程序运行大循环的时间。但实际运行时,通过仿真发现,总是无法进入if语句,解决办法为将timecount定义时前加volatile或者在makefile中将优化等级设为0;(将优化等 阅读全文

posted @ 2011-08-16 16:50 dusts 阅读(490) 评论(0) 推荐(0)

导航