新聞中心

單片機驅(qū)動心得

作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
單片機操作系統(tǒng)寫驅(qū)動有區(qū)別,單片機不用考慮系統(tǒng)框架,操作系統(tǒng)必須符合系統(tǒng)的使用接口規(guī)范。

單片機驅(qū)動類型:
大循環(huán)查詢,定時器中查詢,中斷 ,DMA中斷
大循環(huán)查詢,對于大循環(huán)時間很依賴,所以一般來說只做啟動或者停止之類工作,過程工作交給中斷或者DMA中斷做
定時器查詢,如果大循環(huán)時間不定,那么可以專門開一個定時器,中斷中不斷的循環(huán)查詢或者啟動中斷之類,這個既不堵塞大循環(huán)也不依賴大循環(huán)時間,只是比較耗費cpu資源,不一定有那么多的定時器給你用,可以多個驅(qū)動共用一個定時器,定時器中計數(shù),定時器查詢沒有大循環(huán)的缺點,只是和中斷等比起來實時性稍微差點,因為定時器查詢時定時器不能太頻繁

中斷,數(shù)據(jù)量不大時,或者每個中斷都要應(yīng)用層處理時

DMA中斷,數(shù)據(jù)量比較大,要求后臺的方式,效率要求時,和大循環(huán)時間無關(guān),

設(shè)計驅(qū)動的要求:驅(qū)動不能堵塞大循環(huán),不能依賴大循環(huán)時間

驅(qū)動最佳是DMA中斷,但是具體驅(qū)動看類型,很多的驅(qū)動隨便寫寫就可以了,不用DMA

操作系統(tǒng)類型:

如果有操作系統(tǒng),寫驅(qū)動會舒服很多,例如iic或者spi可以在驅(qū)動中死等,反正等的時候,放棄cpu即可,就是時間片不能太小,其實對于大部分驅(qū)動來說,對實時要求沒有那么高的。

選擇:
要求最高的就用DMA中斷
一般就用定時器中查詢或者設(shè)備中斷
在次之,就在大循環(huán)中查詢

根據(jù)具體要求,沒有一定。。。


評論


技術(shù)專區(qū)

關(guān)閉