在使用CH559L芯片的定时器,使用例程给的定时器,配置参数 无论8位 还是16位 会出现复位可能,能否给我一个定时器3 5ms自动进入定时器中断的例程 ,谢谢
你好,我司21号正式开工,到时给您提供一个例程。
好的 ,感谢
有空给我个案例
你好,设置过程可见上面代码备注,当前为设置1ms的过程,2、3ms定时器过程设置同理。另外需要注意的是,非自动重装载模式下,需要在中断里重新赋值,如下图所示:
您好,附件中是定时35ms进中断的例程
@havc ,你给的程序 你测试了么,我怎么测试不是35ms啊,你自动装载8位的,初始值30536,对么
您好,需要改成模式1,16位定时器模式,初值30536算出来应该是35ms的。
昨天就觉得那个不对,昨天测试了改成模式1 16位定时器,在定时中断里 重载初始值,测试那个时间也不对,140多us,真希望你们测试完,在发我,不要想当然,自己测试一遍就知道问题所在了
您好,这段代码经过实测,P2.0翻转测得定时器时间
void mTimer1Interrupt( void ) interrupt INT_NO_TMR1 using 1 //timer1中断服务程序,使用寄存器组1
{
EA=0;
P2=0;
while(1);
}
main( )
{
UINT8 a,b,c;
mTimer1Clk12DivFsys( ); //时钟选择Fsys定时器方式
mTimer1ModSetup(1); //方式1
TL1 = (30536&0XFF);
TH1 = (30536&0XFF00)>>8;
PORT_CFG &= ~bP2_OC; //启动定时器
P2_DIR =0xff;
P2_PU = 0xff; //使能定时计数器1中断
P2=0;
mDelaymS(5);
P2=0xff; //使能全局中断
TF1 =0;
ET1 = 1;
mTimer1RunCTL(1);
EA = 1;
while(1);
}