主题中讨论的其他器件:EK-TM4C1294XL
您好!
我正在尝试在捕获模式下配置 timer4。我预期在上升沿或下降沿有中断。但无法获得中断、有人能帮我解决这个问题吗?
SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000);
//启用定时器4的外设和 GPIO 端口 M
SysCtlPeripheralEnable (SYSCTL_Periph_TIMER4);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOM);
//将 GPIO 端口 M 引脚4配置为计时器4A 捕捉输入
GPIOPinTypeTimer (GPIO_PORTM_BASE、GPIO_PIN_4);
GPIOPinConfigure (GPIO_PM4_T4CCP0);
//将计时器4A 配置为捕获计时器
TimerConfigure (TIMER4_BASE、TIMER_CFG_A_CAP_TIME_UP);
//设置计时器4A 的装载值
TimerLoadSet (TIMER4_BASE、TIMER_A、0xFFFF);
//在下降沿启用计时器4A 捕获事件
TimerControlEvent (TIMER4_BASE、TIMER_A、TIMER_EVENT_POS_EDGE);
//为定时器4A 捕获事件注册中断处理程序
TimerIntRegister (TIMER4_BASE、TIMER_CAPA_EVENT、Timer4ACaptureIntHandler);
//启用计时器4A 捕获事件中断
TimerIntEnable (TIMER4_BASE、TIMER_CAPA_EVENT);
//启用计时器4A
TimerEnable (TIMER4_BASE、TIMER_A);
//回调函数
空 Timer4ACaptureIntHandler (void)
{
//清除计时器4A 捕获事件中断
TimerIntClear (TIMER4_BASE、TIMER_CAPA_EVENT);
计数++;
}