主题中讨论的其他器件:SysConfig
工具与软件:
尊敬的:
我希望使用计数器模式下的计时器对外部引脚上的脉冲进行计数。
如何配置和读取? 我没有找到一个示例。
首选示例代码而不是 SysConfig 工具的设置...
非常感谢!
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.
工具与软件:
尊敬的:
我希望使用计数器模式下的计时器对外部引脚上的脉冲进行计数。
如何配置和读取? 我没有找到一个示例。
首选示例代码而不是 SysConfig 工具的设置...
非常感谢!
相关示例为 timx_timer_mode_compare_edge_count、如所示:
https://dev.ti.com/tirex/explore/node?node=A__ALzqh4wA5MtgGbIqmSaTyw__MSPM0-SDK__a3PaaoK__LATEST
尽可能接近、所有用于 MSPM0的 TI 示例都使用 SysConfig/driverlib。 该工程的.syscfg 文件信息不是很丰富、因为它显然依赖于 SysConfig 默认值、例如未明确提及"edge_count_down"。
---
该原理在 TRM (SLAU846B)章节中进行了阐述 27.2.3.1.1.简而言之:
(1) CTRCTL:CAC (计数器超前触发)指向 CCTL_01[]条目(引用外部引脚)。
(2)该条目的 CCTL_01[].ACOND (前进条件)设置为上升/下降/双边沿(而不是 TIMCLK、正如普通计时器那样)。
(3)要获得边沿数、只需读取 CTR 寄存器;要在 N 个边沿后收到通知、请将 N 放入相应的 CC_01寄存器(并启用相应的 CCUn 或 CCDn 中断)。
还有一些其他辅助设置(EN=1、方向向上/向下、如果您需要连续计数、则 LOAD=0xFFFF)、但设置 ACOND 是核心。