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

6678定时器例程改写疑问

还是C:\Program Files\Texas Instruments\pdk_C6678_1_0_0_16\packages\ti\csl\example\timer这个例程,我想利用GP-TIMER得到想要的定时中断,于是,我改写了test_gp_time()这个函数,修改如下:

TimeCountMode 改为 CSL_TMR_ENAMODE_CONT;

hwSetup.tmrTimerPeriodLo = 0x3B9ACA00;            // 即十进制的1000000000

hwSetup.tmrTimerPeriodLo = 0x00;

为了能够不停产生中断,我把while(timeISRCounter !=1);去掉,

然后为了能查看每次产生的中断,我修改OStickISR(void)

{timeISRCounter++ ;

printf("The timeISRCounter is %d.\n" , timeISRCounter);

 }             加了这句printf语句

默认的是内部时钟,是6分频,则应该是每6秒产生一次中断,但是我在运行的时候,发现瞬间就输出了将近100条printf语句,也就是说没有达到设置的中断周期间隔。应该如何设置呢?

Andy Yin:

您好,

首先确认一下你是在simulator还是EVM板子上测试的?建议在EVM板子上测试,这样时间更准!

另外建议在每次进入中断时使用读取TSC寄存器记录当前时刻,同时注意如果要测试cycle最好不要在程序中使用printf,因为printf很费时间。

赞(0)
未经允许不得转载:TI中文支持网 » 6678定时器例程改写疑问
分享到: 更多 (0)