读者好!
我目前正在进行一个项目、我们在现场管理很多定时事件。 我们有一个固件版本、它在 PC 上运行以对其进行仿真、并且依赖于获取时间戳。 我要将其移植到我们的 MSP。 我想能够只是设置一个计时器持续计数,然后只是阅读 TAxR 在 forground ,但在家庭指南中有这一点让我犹豫。
这里引用了家庭指南 Slau445i (https://www.ti.com/lit/ug/slau445i/slau445i.pdf):)
"13.2.1 16位定时器计数器16位定时器/计数器寄存器、TAxR、随着时钟信号的每个上升沿增/减(由操作模式决定)。 TAxR 可以通过软件读取或写入。 此外、定时器溢出时、它可以生成一个中断。
注:访问 TAxR 时必须小心。 如果 CPU 在定时器运行期间访问(读取或写入) TAxR、则从 TAxR 读取的值或写入 TAxR 的值可能无法预测。 为了避免这种不确定性、应在访问 TAxR 之前向 MC 位写入0以使定时器停止工作。 对于读操作、可在定时器运行期间多次读取 TAxR、同时软件中会进行多数表决以确定正确读数。 "
我不想停止计时器,当我从它读取,所以我认为这让我多次读取计时器,并采取多数表决。 但这意味着什么? 是否读取多次并将值保存到数组中,然后从数组中选择最频繁的值? 或者、我可以如何使用捕获寄存器、然后从中读取数据吗?
感谢您抽出宝贵时间提供反馈。
此致、
扎卡里·安德森