为什么时间小于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]