CC3200 工作在定时器捕获模式下,如何进行定时器时钟分频。
当我运行SDK中 timer_cc例程时加入
MAP_TimerPrescaleSet(TIMERA2_BASE,TIMER_A,80);//需要1M Hz时钟
捕获的数据始终是80 MHz时钟的数据。
Ken Wang:
CC3200定时器的预分频功能,只在16bit的timer上面有用,可以仔细看下MAP_TimerPrescaleSet的定义。
谢谢
Yang Patrick:
回复 Ken Wang:
Ken
这是我修改过的定时器代码。MAP_TimerPrescaleSet直接用TimerPrescaleSet代替了
加入这个TIMER_CFG_SPLIT_PAIR TIM2应该就在TIMER_A就在16bit方式吧
MAP_TimerConfigure(TIMERA2_BASE, (TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_TIME)); TimerPrescaleSet(TIMERA2_BASE,TIMER_A,80); // // Register timer interrupt hander // MAP_TimerIntRegister(TIMERA2_BASE,TIMER_A,TimerIntHandler);
// // Set the detection edge // MAP_TimerControlEvent(TIMERA2_BASE,TIMER_A,TIMER_EVENT_BOTH_EDGES); // // Set the reload value // MAP_TimerLoadSet(TIMERA2_BASE,TIMER_A,0xFFFF); // // Enable capture event interrupt // MAP_TimerIntEnable(TIMERA2_BASE,TIMER_CAPA_EVENT); // // Enable Timer // MAP_TimerEnable(TIMERA2_BASE,TIMER_A);