您好 ,我使用startware 的定时器例程,可以用串口收到数据。更改高32位的值,改变不了定时器的周期。周期一直都是低32位的FFFFFFFF定时的,高位的改变不起作用。对原始startware程序除了TMR_PERIOD_MSB32改变外,其他地方均没有变化。请问这是什么原因
#define STR_LEN (13)
#define TMR_PERIOD_LSB32 (0xFFFFFFFF)
#define TMR_PERIOD_MSB32 (0x00000001)
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好 ,我使用startware 的定时器例程,可以用串口收到数据。更改高32位的值,改变不了定时器的周期。周期一直都是低32位的FFFFFFFF定时的,高位的改变不起作用。对原始startware程序除了TMR_PERIOD_MSB32改变外,其他地方均没有变化。请问这是什么原因
#define STR_LEN (13)
#define TMR_PERIOD_LSB32 (0xFFFFFFFF)
#define TMR_PERIOD_MSB32 (0x00000001)
号外。找到问题点了。
把对TGCR的配置改成下面就没有问题了。
static void TimerSetUp64Bit(void)
{
/* Configuration of Timer */
// TimerConfigure(SOC_TMR_2_REGS, TMR_CFG_64BIT_CLK_INT);
TimerConfigure(SOC_TMR_2_REGS, 3);
/* Set the 64 bit timer period */
TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER12, TMR_PERIOD_LSB32);
TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER34, TMR_PERIOD_MSB32);
}
也就是new timer plus feature好像有点问题,那就先disable new timer feature吧。