to 救火车 发表于 2007-6-18 13:23 侃单片机 ←返回版面
85楼: 字节型的应该没有什么问题吧!
怎会没问题?看看89楼5brother的。
89楼: 我的做法
我通常这样: 1,在定时器中断中设置一个标志,flag_100ms
void T0() { 简单提醒一下,当某一时间点任务最繁重时,运行时间可能会超出你的基本时钟,这时直接赋1就不合适了。不过你的100ms似乎一般情况下不成问题。 flag_100ms = 1; } 2,在主程序中做一个函数,用来更新时间 void Updata(void) { if (flag_100ms) { 注意:如果在这里来了T0中断,呵呵,那么这个中断就白来了。 所以不管是字节型还是整型都可能出问题,只是整型的几率更高而已。 flag_100ms = 0; ms_counter++; //其他时间更新 } }
|