|
如下程序,如果再配置中打开了Timer 0 1 通道的中断, 用下面的程序延时 1MS, 发现实际时间是 3MS。 如果不打开这个中断,延时1MS正常。
static void __near r_tau0_channel1_interrupt(void)
{
/* Start user code. Do not edit comment generated here */
Timer1_Flag_1ms = 1;
/* End user code. Do not edit comment generated here */
}
/* Start user code for adding. Do not edit comment generated here */
void delay_ms(uint16_t timeCounter)
{
//TDR01 = 0;
R_TAU0_Channel1_Start();
while(timeCounter > 0)
{
if(TMIF01 == 1)
{
TMIF01 = 0;
timeCounter--;
}
}
R_TAU0_Channel1_Stop();
}
在开中断的情况下,如果用下面这个程序,延时1MS 就正常了。 所以配置打开中断对TMIF01 这个中断标志有什么影响?
void delay_ms(uint16_t timeCounter)
{
//TDR01 = 0;
R_TAU0_Channel1_Start();
while(timeCounter > 0)
{
if(Timer1_Flag_1ms == 1)
{
Timer1_Flag_1ms = 0;
timeCounter--;
}
}
R_TAU0_Channel1_Stop();
}
|
|