主题:20ms定时 共有33781人关注过本帖 |
---|
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次。
|
|
单帖管理 | 引用 | 回复 |