This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR2355:读取 TimerB 计数器值(TBxR)

Guru**** 2516200 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1077738/msp430fr2355-read-timerb-counter-value-tbxr

部件号:MSP430FR2355

对于我的应用程序,我需要能够在随机时间读取 TimerB 计数器值,然后从“现在”安排一个计时器比较时间事件50US,其中“现在”是当前计时器计数器值。

但是,在 UG 中,我看到了这条注释。

我已经阅读过这张笔记很多次了,因为我从未遇到过任何其他微生物的注释。

本注释是否为实数?  这种行为在 MSP430微处理器中是典型的吗?

我真的需要停止计时器才能获得准确的读数吗?  如果此计时器正在发生其他关键计时事件,该怎么办? 我不能只是停止计时器,这样我就可以得到一个读数。

 是否没有与计时器电路相关的捕获或同步机制,以便微控制器可以在飞行中获得有效的读数?  那么,外部计时器捕获事件的工作原理是什么?

我知道有很多问题。 但这对我来说是无法想象的。 根据微计时器和计时器的相对速度,有人可能会期望计时器值为勾号,但这与“不可预测”不同。  

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这实际上仅适用于计时器(源)时钟与 CPU (MCLK)异步运行的情况。 这样说,我在许多 MCU 中看到过这种警告。

    SMCLK 通常与 MCLK (相同的源)同步,但 ACLK 通常是异步的,TBnCLK 始终是异步的。

    停止计时 器的另一种方法是读取两次计数器,并查看是否获得相同的值。 或者,正如您所建议的那样,您可以通过软件触发捕获,尽管这似乎是一个漫长的过程。