gang-366961 发表于 2012-8-24 08:24:49

STM8 第一次进中断不准【悬赏问答】

main()
{



char1 b1;
GPIO_1();
D2_ODR=1;

//************************************************************
B4=0xff;
B6=0x00;
while(1)
{
menu_0(); //读取EEROM;
array_0(); //EEROM 写入数组;
for(b1=0;b1=9)
{B2=9;}
}
if(b1==59)
{b1=0;
time=time-1;
}

return;

}
void time2_IER(void)
{
CLK_CKDIVR=0B00000000;       
TIM2_PSCR =0B00001000; //定时器分频       
TIM2_ARRH =0xF4;
TIM2_ARRL =0x24;
TIM2_CNTRH =0x00;    //
TIM2_CNTRL =0x00;
TIM2_EGR=0x01; //事件产生寄存器       

TIM2_SR1=0x00;
TIM2_IER=0x01;    //中断寄存器

TIM2_CR1 |=0B00000101;   //开定器; 
}
 
 我这个用LED数码管显示,定时中断时间是1S,但是第一次进中断的时间总是不对。
因为time在第一次读取的时个,数据是10,但是一上电,显示就是9,只有进入中断后,才会是9,而上电到进中断应该有1S的时间,而一电只看到9,说明第一次时中断时间没有达到1S,不知为何。
在定时子程序里面,我也有加载手动更新。结果第一次进中断的时间还是不对。
 
还请各位指点下,搞了好几天,也没有找到原因。

废鱼 发表于 2012-8-24 09:49:18

RE:STM8 第一次进中断不准;

先开定时器,然后开中断,试试。

gang-366961 发表于 2012-8-24 11:27:25

RE:STM8 第一次进中断不准;

试过,也是不行!

必胜鸟 发表于 2021-5-26 14:33:09

同样问题,同样搞了好几天,还没解决:'(
页: [1]
查看完整版本: STM8 第一次进中断不准【悬赏问答】