主题:20ms定时

  共有24237人关注过本帖    
yaqun_zhao
1楼


20ms定时  发帖心情 Post By:2006-12-12 11:06:00   [只看该作者]

在TMRDEMO例程中SetTmr1(5000)中的5000是否表示定时5000ms,那程序中if(IRQ12cnt>100)又表示100个5000ms吗?我好象理解错了,因为实际时间不对,到底是怎样理解的?
我假如定时1S或20MS应该怎样设置这两个(或一个)值?定时精确吗?
谢谢!
 
 

  单帖管理 | 引用 | 回复 回到顶部
zhl
2楼


  发帖心情 Post By:2006-12-12 13:20:00   [只看该作者]

SetTmr1()为设置Timer1时钟的分频数。ETR232i的Timer1输入时钟频率为1MHz。Timer1为占空比为50%的方波,Divider代表了分频数。需要注意的是:输出的方波信号一个周期会定时中断两次(上升沿、下降沿),Divider分频数和实际产生波形的周期有一个2倍的关系。如:Divider = 10000,则产生周期为20ms的方波。
另外该函数的定义在“ETR232I编程手册”中有说明。请参看手册。

  单帖管理 | 引用 | 回复 回到顶部
yaqun_zhao
3楼


  发帖心情 Post By:2006-12-12 15:21:00   [只看该作者]

您好!
谢谢您的回信,我对硬件的东西不是很明白(硬件有其他同事设计),按照我的理解SetTmr1(10000)为设置20ms的方波,而每个方波会触发两次中断,也就是10ms中断,所以1s的中断只要判断100次中断即可(IRQ12cnt>100),可实际又不准,我又是哪里理解错了,假如没法对我解释清楚(我感觉我实在太笨),只要告诉我怎么设置1s和20ms中断即可,谢谢!

  单帖管理 | 引用 | 回复 回到顶部
zhl
4楼


  发帖心情 Post By:2006-12-12 20:23:00   [只看该作者]

抱歉,上面解释有误。SetTmr1(10000)表示对1MHz时钟分频10000,得到周期10ms的方波,50%占空比,每5ms中断一次(电平变化时)。所以1s应当中断200次,20ms中断4次。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

20ms定时

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: