按照以下序列将计时器配置为输入边沿计数模式:
- 进行任何更改之前,确保禁用计时器(清除 TAEN 位)。
- 向 GPTM 配置寄存器 (GPT:CFG) 写入值 0x0000 0004。
- 在 GPTM 计时器模式寄存器 (GPT:TnMR) 中,将 TnCMR 字段写入 0x0,并将 TnMR 字段写入 0x3。
- 通过写入 GPTM 控制寄存器 (GPT:CTL) TnEVENT 字段来配置计时器捕获的事件类型。
- 如果要使用预分频器,请将预分频值写入 GPTM 计时器 n 预分频寄存器 (GPT:TnPR)。
- 将计时器起始值加载到 GPTM 计时器 n 间隔加载寄存器 (GPT:TnILR) 中。
- 将事件计数加载到 GPTM 计时器 n 匹配寄存器 (GPT:TnMATCHR) 中。
- 如果需要中断,则设置 GPTM 中断屏蔽寄存器 (GPT:IMR) CnMIM 位。
- 设置 GPT:CTL TnEN 寄存器位以启用计时器并开始等待边沿事件。
- 轮询 GPT:RIS CnMRIS 寄存器位,或等待生成中断(如果启用)。在这两种情况下,可以通过向 GPTM 中断清除寄存器 (GPT:ICR) CnMCINT 位写入 1 来清除状态标志。
在输入边沿计数模式下向下计数时,计时器会在检测到编程数量的边沿事件后停止。要重新启用计时器,请确保清除 TnEN 位,并重复步骤 4 至步骤 9。