jianhong_wu 发表于 2017-4-9 18:28:48

为什么时间小于1ms的时候不建议用定时中断,而建议用定时器查询或者delay?已解答。

本帖最后由 jianhong_wu 于 2017-4-9 18:57 编辑

淡然微笑-江苏:
我看到stm32的定时器1ms,如果 我定时1us可以吗?

小明-深圳:
定时1us你是想干嘛?1us的延时还用定时器啊?

淡然微笑-江苏:
外围芯片的时序延时呀。


hippo-深圳:
us级别就不要用timer中断了,进出中断的时间损耗都是us级别,1ms以上可以timer中断定时。


坚鸿-深圳:
有道理。低于1ms的建议用定时器查询或者delay的方式。我现在的定时中断都是用1ms为基准。低于这个延时,就考虑阻塞的定时器查询或者delay,而delay我用得最多。如果是要很精准的延时,可以考虑用“阻塞的定时器查询”这种方式。所谓“阻塞“,就是死循环在那里查询某个标志变量,不干别的事,只等待延时结束才跳出死循环。因为延时很短,所以这时候的死等就对整个系统的影响不大。这种用法就是一般用在驱动的时序里。

页: [1]
查看完整版本: 为什么时间小于1ms的时候不建议用定时中断,而建议用定时器查询或者delay?已解答。