|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
歡迎高手討論一下軟件延時的問題 |
| 作者:陳遠(yuǎn)征 欄目:單片機(jī) |
一般我們在做產(chǎn)品的時候,經(jīng)常要用到延時觸發(fā)的狀況。 簡單的說比如用單片機(jī)端口分別延時驅(qū)動多個繼電器。 一般的做法是(后續(xù)的例子只是討論延時用,不牽扯其它的邏輯) 條件成立后: JD1Time=TIME2S; JD2time=TIME3S; 時基中斷中 if (JD1Time!=0) JD1Time--; if (JD2Time!=0) JD2Time--; 。。。 在主程序中判斷 。。。 { if(JD1Time==0) JD1Out=TRUE; if(JD2Time==0) JD2Out=TRUE; 。。。 } 這種方法在當(dāng)條件不成立的時候會在中斷中造成一堆無用的判斷 還有方法就是 unsigned int SysTimeBasic; 時基中斷中 SysTimeBasic--; 條件成立后: JD1Time=SysTimeBasic-TIME2S; JD2time=SysTimeBasic-TIME3S; 在主程序中判斷 JDnTime與SysTimeBasic的關(guān)系,牽扯到JDnTime、SysTimeBasic范圍的問題以及條件成立后就不再做判斷的問題比較麻煩 請問在軟件上還有其它更好的方法嗎? 歡迎大家來討論。 |
| 2樓: | >>參與討論 |
| 作者: 陳遠(yuǎn)征 于 2005/1/5 11:15:00 發(fā)布:
沒有更好的方法嗎,這是大家經(jīng)常用到的啊 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |