总结而言,timerb 捕获模式,是捕获开始,就把计数值放到缓冲区中,其实缓冲区就是软件上的FIFO,下一次边沿捕获,这个值在寄存器中。这个时候就可以利用本次计数器值减去上次计数值,从而计算出脉宽。或者脉冲周期。


TBCR 寄存器可以修改计数时钟分频系数,或者是选用外部时钟。
![]()
P30连接到P50 或者P51,可以观察到捕获值,很稳定。
1811 计算脉冲周期 MCU主频48M,简洁计算48个计数为1us.
1811/48 = 37.73us.

开缓冲的意义可以准确捕获数据,中断也可以捕获数据但是中断有时间开销,会存在一些误差。
特别注意不要清空计数器,这样数据就不准了。
本文深入探讨了TimerB的捕获模式工作原理,包括如何利用计数器值计算脉冲周期,以及使用TBCR寄存器调整计数时钟分频。文章还讨论了开缓冲对于精确捕获数据的重要性,并指出中断捕获存在的时间开销问题。
552

被折叠的 条评论
为什么被折叠?



