在开始使用定时器的时候,配置定时器出现了问题,定时器只执行了一次, 并且后面程序也没有执行完。
DrvSYS_SelectIPClockSource(E_SYS_TMR0_CLKSRC,7);
/*TIMER0 时钟源选择:000 =外部12MHz 晶振 、001 =外部 32KHz 晶振 、010 = HCLK 、011 = 外部触发时钟 、1xx =内部 22MHz 振荡器 */
DrvTIMER_Open(E_TMR0,10,E_ONESHOT_MODE);
后来,不断查原因,才发现红色部分的配置出现了问题:
DrvSYS_SelectIPClockSource(E_SYS_TMR0_CLKSRC,0);
/*TIMER0 时钟源选择:000 =外部12MHz 晶振 、001 =外部 32KHz 晶振 、010 = HCLK 、011 = 外部触发时钟 、1xx =内部 22MHz 振荡器 */
DrvTIMER_Open(E_TMR0,10,E_PERIODIC_MODE);
/*设定定时器 tick 周期并且启动定时器:定时器通道 TMR0 每秒10次 周期模式*/
修改完后,定时器就可以使用了! |