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.
工具与软件:
我正在尝试将计时器用作脉冲计数器、代码如下:
SysCtlPeripheralEnable (SYSCTL_PERIPH_TIMER4);
GPIOPinTypeTimer (GPIO_PORTD_BASE、0x80);
GPIOPinConfigure (GPIO_PD7_T4CCP1);
TimerDisable (WTIMER4_BASE、TIMER_A); //停止计数
TimerConfigure (WTIMER4_BASE、TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_COUNT_UP | TIMER_CFG_A_ACT_NONE);
TimerControlEvent (WTIMER4_BASE、TIMER_A、TIMER_EVENT_NEG_EDGE);
TimerLoadSet (WTIMER4_BASE、TIMER_A、0);
TimerPrescaleSet (WTIMER4_BASE、TIMER_A、0xFFFF);
TimerMatchSet (WTIMER4_BASE、TIMER_A、0xFFFFFFF0);
TimerPrescaleMatchSet (WTIMER4_BASE、TIMER_A、0xFFF0);
TIMER4_TAV_R = 0;
TimerEnable (WTIMER4_BASE、TIMER_A); //开始计数
SysTickIntDisable ();
TimerDisable (WTIMER4_BASE、TIMER_A); //停止计数
SysTickIntEnable ();
当它到达第二个 TimerDisable()时、它将分支到 FaultISR()。
提供帮助。 谢谢
尊敬的 Doug:
TM4C129 MCU 上没有 WTIMER4。 事实上、TM4C129上没有宽计时器。 宽计时器仅在 TM4C123 MCU 上可用。 您需要从 WTIMER4_BASE 更改为 TIMER4_BASE。 另请注意、如果您要在 TIMER4_BASE 上使用 TIMER_A、则该引脚位于 PM4、PB0或 PD6上。 PD7用于 T4CCP1、而是由 TIMER_B 控制。 相反、如果您想对 T4CCP1使用 PD7、那么您需要在代码中更改为 TIMER_B。
我认为这解决了问题、但现在我遇到了一个新的故障、因此我无法确定。 让我们现在将其称为解决方案。
谢谢 Charles。