最佳答案
有一种比较好的方式:一个硬件定时器,产生多个软件定时器,如 5ms 、10ms 、50ms 、500ms 、1s 等。
具体做法是:
在硬件定时器中断中使软件定时器计数器自加,当加到延时值时,把软件定时器标志置 1 。
在 main 函数的 while 循环中 扫描 各个软件定时器的标志,如果 为 1 则执行 相应 语句,并把标志清 0 。
感觉 这种方法 起到了 部分操作系统的功能,当然最好的方法还是用操作系统。。。
有一种比较好的方式:一个硬件定时器,产生多个软件定时器,如 5ms 、10ms 、50ms 、500ms 、1s 等。
具体做法是:
在硬件定时器中断中使软件定时器计数器自加,当加到延时值时,把软件定时器标志置 1 。
在 main 函数的 while 循环中 扫描 各个软件定时器的标志,如果 为 1 则执行 相应 语句,并把标志清 0 。
感觉 这种方法 起到了 部分操作系统的功能,当然最好的方法还是用操作系统。。。
举报