在配置TM4C的T1CCP0和T1CCP1时,发现只有第二个初始化的外设才会生效
原因是 TimerConfigure 函数是覆盖式执行的,对同一定时器会忽略上一次执行,只保留最新执行的结果
我原先是
TimerConfigure(TIMER1_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_TIME_UP);
TimerConfigure(TIMER1_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_B_CAP_TIME_UP);
分两次执行,所以只有T1CCP1生效了
正确应该是只需执行一次
TimerConfigure(TIMER1_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_TIME_UP | TIMER_CFG_B_CAP_TIME_UP);
就可以了
此时T1CCP0和T1CCP1都能产生中断了
题外话:TIMER_BOTH宏定义等价于分别连续执行TIMER_A和TIMER_B