SquallBest 发表于 2017-6-29 10:33:30

stm32timer问题

stm32中普通timer和systick有啥区别?因为之前听老鸟建议,少用systick。但不知道原因。有没有大侠可以帮忙结实一下。

子曰好人 发表于 2017-6-29 11:32:38

普通timer可以作为它用,有中断可以处理一些事件,但是systick仅仅作为系统的心跳时钟,不知这样解释楼主明白不

SInzo 发表于 2017-6-29 13:40:46

systick是系统时钟,timer是可配置定时器,systick依照设置的主时钟频率会变化。

可以看做一个速度可以配置会变化的时钟,systick每次指针走一次就触发一次变化,timer在到达设定时间后产生中断

SquallBest 发表于 2017-6-29 16:36:37

子曰好人 发表于 2017-6-29 11:32
普通timer可以作为它用,有中断可以处理一些事件,但是systick仅仅作为系统的心跳时钟,不知这样解释楼主明 ...

这块儿我明白。但是有个疑问。就是如果在systick中处理类似串口数据的话,会不会对系统运行速度造成影响甚至改变。我意思说,如果我在systick中处理数据用了1秒钟,那么系统时钟会不会被改变。也就是系统会不会整个因为我处理过程而变得时钟不准

子曰好人 发表于 2017-6-29 17:12:56

SquallBest 发表于 2017-6-29 16:36
这块儿我明白。但是有个疑问。就是如果在systick中处理类似串口数据的话,会不会对系统运行速度造成影响 ...

可能会,因为我也没尝试过用systick的中断来处理事件,systick属于内部中断,进入中断相隔的时间很短,尽量不要用systick的中断来处理耗时过长的事件

aiherong 发表于 2020-1-25 03:08:20

当用UCOSiii时,systick 会与ucosiii自带时钟冲突! 估计ucosii 也是

SquallBest 发表于 2020-1-29 16:41:41

aiherong 发表于 2020-1-25 03:08
当用UCOSiii时,systick 会与ucosiii自带时钟冲突! 估计ucosii 也是

多谢大佬
页: [1]
查看完整版本: stm32timer问题