elecc 发表于 2019-11-25 14:57:49

STM32F103定时器能定时15ns吗?

请问STM32F103的定时器能定时到15ns吗?PSC或者ARR值可以设置成小数吗?

子曰好人 发表于 2019-11-25 15:43:32

比较值和计数峰值只能设置为整数,没办法设置为小数。通常我们不会用到15ns这么短的时间,MCU达不到你的要求。

mikecai 发表于 2019-11-25 15:47:26

F103 core clock 才72MHz,纳秒级 中断没戏。

mylovemcu 发表于 2019-11-25 16:23:44

72MHz的频率对应的时间是13.8ns所以理论上可以产生13.8ns整数倍的延时时间
比如两个定时器产生延时脉冲最小延时时间间隔可以控制到13.8ns但是定时器启动停止也需要时间所以最小时间差不能达到13.8ns并且受到IO口速度限制最小脉冲宽度也不可能达到13.8ns但是脉冲增量可以做到13.8ns
PSC或者ARR值不可以设置小数必须是整数

aiherong 发表于 2019-11-25 21:39:48

这种严苛的性能极限挑战,若不打算用更高速的MCU,只能超频,重写PLL和PSC,再者看sysTick行不行

butterflyspring 发表于 2019-12-2 15:30:53

根据手册描述,定时器最大计数频率是72M,那么每一步的最小分辨率是13.8ns。 而且寄存器是不能设置小数的。如上面的大神所说,软件反应时间是不够的,但是如果仅应用硬件反应的分辨率(如PWM调节精度)是可以实现的

glenxu 发表于 2019-12-5 08:52:51

没有单纯的为了定时而定时的!
一般最少都有一个哪怕是一个最简指令的任务,换句话说,做这个定时仅在内部软件作为一个功能可以,但事实上任何相关的事情都会耽误、超时,导致定时不准确,特别时连续的,CPU将处于死机状态。
所以是不可取的。
页: [1]
查看完整版本: STM32F103定时器能定时15ns吗?