TI中文支持网
TI专业的中文技术问题搜集分享网站

TM4C129为什么同一个定时器的CCP0和CCP1不能同时使用?

SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER3);//PM2
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOM);
GPIOPinConfigure(GPIO_PM2_T3CCP0); GPIOPinTypeTimer(GPIO_PORTM_BASE, GPIO_PIN_2); GPIOPadConfigSet(GPIO_PORTM_BASE, GPIO_PIN_2, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU); // 为管脚配置弱上拉模式 TimerConfigure(TIMER3_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_COUNT_UP);//边沿加计数模式 TimerControlEvent(TIMER3_BASE, TIMER_A, TIMER_EVENT_NEG_EDGE); TimerMatchSet(TIMER3_BASE, TIMER_A, 0x1FFF); TimerEnable(TIMER3_BASE, TIMER_A);
/****************************************************/ GPIOPinConfigure(GPIO_PM3_T3CCP1); //PM3
GPIOPinTypeTimer(GPIO_PORTM_BASE, GPIO_PIN_3); GPIOPadConfigSet(GPIO_PORTM_BASE, GPIO_PIN_3, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU); // 为管脚配置弱上拉模式 TimerConfigure(TIMER3_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_B_CAP_COUNT_UP);//边沿加计数模式 TimerControlEvent(TIMER3_BASE, TIMER_B, TIMER_EVENT_NEG_EDGE); TimerMatchSet(TIMER3_BASE, TIMER_B, 0x1FFF); TimerEnable(TIMER3_BASE, TIMER_B);
/****************************************************/

这样初始化只能用CCP1,也就是PM3,此时TimerValueGet(TIMER3_BASE, TIMER_A);的值都是0xFFFF。

如果把PM3那段不要初始化CCP0就正常了。

是不是TIMER  的A B模块不能同时使用?

xyz549040622:

TIMER  的A B模块是可以同时使用的。我怀疑是你初始化的问题,你试试把PM3的初始化放在前面,PM2的初始化放在后面,看看是不是只有在后面的初始化才会起作用的呢。

user4619179:

回复 xyz549040622:

是这样子的,只有一个起作用。

赞(0)
未经允许不得转载:TI中文支持网 » TM4C129为什么同一个定时器的CCP0和CCP1不能同时使用?
分享到: 更多 (0)