單片機驅動心得
單片機驅動類型:
大循環查詢,定時器中查詢,中斷 ,DMA中斷
大循環查詢,對于大循環時間很依賴,所以一般來說只做啟動或者停止之類工作,過程工作交給中斷或者DMA中斷做
定時器查詢,如果大循環時間不定,那么可以專門開一個定時器,中斷中不斷的循環查詢或者啟動中斷之類,這個既不堵塞大循環也不依賴大循環時間,只是比較耗費cpu資源,不一定有那么多的定時器給你用,可以多個驅動共用一個定時器,定時器中計數,定時器查詢沒有大循環的缺點,只是和中斷等比起來實時性稍微差點,因為定時器查詢時定時器不能太頻繁
中斷,數據量不大時,或者每個中斷都要應用層處理時
DMA中斷,數據量比較大,要求后臺的方式,效率要求時,和大循環時間無關,
設計驅動的要求:驅動不能堵塞大循環,不能依賴大循環時間
驅動最佳是DMA中斷,但是具體驅動看類型, 很多的驅動隨便寫寫就可以了,不用DMA
操作系統類型:
如果有操作系統,寫驅動會舒服很多, 例如iic或者spi可以在驅動中死等,反正等的時候, 放棄cpu即可,就是時間片不能太小, 其實對于大部分驅動來說,對實時要求沒有那么高的。
選擇:
要求最高的就用DMA中斷
一般就用定時器中查詢或者設備中斷
在次之,就在大循環中查詢
根據具體要求,沒有一定。。。
中斷,數據量不大時,或者每個中斷都要應用層處理時
DMA中斷,數據量比較大,要求后臺的方式,效率要求時,和大循環時間無關,
設計驅動的要求:驅動不能堵塞大循環,不能依賴大循環時間
驅動最佳是DMA中斷,但是具體驅動看類型,
操作系統類型:
如果有操作系統,寫驅動會舒服很多,
選擇:
要求最高的就用DMA中斷
一般就用定時器中查詢或者設備中斷
在次之,就在大循環中查詢
根據具體要求,沒有一定。。。
評論