主題:20ms定時 共有38052人關注過本帖 |
---|
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次。
|
|
單帖管理 | 引用 | 回復 |