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.

[参考译文] CC2538:CC2538

Guru**** 2529560 points
Other Parts Discussed in Thread: CC2538

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/619485/cc2538-cc2538

部件号:CC2538

您好,

我希望在输入边缘应用程序中将计时器GPT2配置为CC2538上的边缘时间模式的32位计时器A。  我的结果是,如果我不使用定期模式,而是使用“捕获模式”,我似乎不再得到超时中断。  我已从GPIO配置了一个输入边缘,我知道当在16位模式下设置时,它在另一个计时器中可以正常工作。  我不需要16位捕获,我需要32位捕获。  是否有此功能?

IOCPinConfigPeriphInput (GPIO _B_BASE,GPIO PIN_3,IOC_GPT2OCP1); << 输入引脚配置
GPIOPinTypeTimer(GPIO_B_B_BASE,GPIO_PIN_3);<< 引脚用于监控负边缘。
GPTIMER2_CFG = 0; <32 位操作。
GPTIMER2_Tamr ||(0
| GPTIMR_Tamr_Tamr (TnMR_capture) << Capture而不是Periodic???
| GPTIMER_TAMR_TACMR_MASK //定时器A边缘时间模式
| GPTIMER_TAMR_TCDIR_MASK //计时器A计时
);
GPTIMER2_CTL ||(0
| GPTIMER_CTL_TAEVENT (负极边缘)
);
TimerCountSet (GPTIMER2_BASE,GPTIMER_A,0);
TMP = GPT2_From_USEC (PLL_MOD_USec);
TimerLoadSet (GPTIMER2_BASE,GPTIMER_A,tmp);
TimerIntEnable(GPTIMER2_BASE,GPTIMER_TIMA_TIMEOUT);
TimerIntEnable (GPTIMER2_BASE,GPTIMER_CAPA_EVENT);
TimerIntRegister (GPTIMER2_BASE,GPTIMER_A,gpt2_interrupt_vector);
TimerIntClear (GPTIMER2_BASE,GPTIMER_TIMA_TIMEOUT|GPTIMER_CAPA_MATCH |GPTIMER_CAPA_MATCH);
TimerEnable (GPTIMER2_BASE,GPTIMER_A);

从用户指南中...步骤2是什么?  配置模式4??  我想要32位的边缘时间,而不是16位。

输入边缘计时模式
按以下顺序将计时器配置为输入边缘计时模式:
1.在进行任何更改之前,确保已禁用计时器(清除Taen位)。
2.写入值为0000.0004 的GPTM配置(GPTIMER_CFG)寄存器。  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 为什么 需要拆分计时器??  我想要32位边缘时间。
3.在GPTM计时器模式(GPTIMER_TnMR)寄存器中,将TnCMR字段写入0x1和TnMR
字段为0x3。
4.通过写入GPTM的TnEVENT字段来配置计时器捕获的事件类型
控制(GPTIMER_CTL)寄存器。
5.如果要使用预分频器,请将预分频值写入GPTM定时器n预分频寄存器
(GPTIMER_TnPR)。
6.将计时器开始值加载到GPTM Timer n Interval Load (GPTIMER_TnILR)寄存器中。
7.如果需要中断,请在GPTM中断掩码(GPTIMER_IMR)寄存器中设置CnMIM位。
8.在GPTIMER_CTL寄存器中设置TnEN位以启用计时器和开始计数。
9.轮询GPTMRIS寄存器中的CnMRIS位或等待生成中断(如果启用)。 英寸
在这两种情况下,状态标志都通过将1写入GPTM中断的CnMCINT位来清除
清除(GPTIMER_ICR)寄存器。
在"输入边缘计时"模式下,在检测到边缘事件,但检测到后,计时器将继续运行
通过写入GPMTnILL寄存器,可以随时更改计时器间隔。 更改将在生效
写入后的下一个循环。

非常感谢