嵌入式開發 中斷優先順序的重要性

2021-06-03 06:13:05 字數 435 閱讀 9435

ti的lm3s1607,一開始中斷優先順序沒有設定,採用預設值[所有優先順序相同],則就是中斷不可巢狀。

出現了uart通訊有時會丟失資料的問題,一開始以為是硬體干擾導致的。。。。

uart的接收緩衝佇列fifo長度設定為1,即接收到字元後就觸發中斷。因為外部通訊命令一般為多個位元組連續發,所以如果uart中斷來不及處理,很可能出現fifo被覆蓋的危險。

那麼就會發生以下問題:

vd中斷請求--->vd中斷處理----->vd中斷返回

uart中斷請求---->掛起

uart中斷請求--->掛起

如果此時連續有位元組傳送過來,則uart中的fifo就會被覆蓋,命令位元組就會丟失。

所以uart中斷優先順序一定要比其他中斷優先順序高。。。。。

系統開發中,由於任務的重要性和及時性不同,必須定義好不同的優先順序。否則就會出現這種bug。

C語言優先順序在嵌入式程式設計中的重要性

c語言優先順序在嵌入式程式設計中的重要性 最近在弄pic的乙個小專案,之前是前乙個同事在原有程式的基礎上經行了 的優化,同時新增了一點新的功能,由於pic微控制器的容量還是相對較小,所以不得不把眾多的adc轉換的函式整合到乙個函式裡,同時又有8位和10位的ad轉換功能。在程式裡需要用到c語言裡的位運...

嵌入式系統的優先順序倒置

以前也看到過嵌入式系統優先順序倒置的問題,但由於沒有實際的程式,理解的不夠透徹。今天終於有機會來看清廬山真面目了。我們的dsp 上有兩個 task spa 和txp,什麼意思,我就不說了。這兩個程序都會用到乙太網模組。txp的優先順序比 spa要高。spa作為乙個低優先順序的任務,執行時間比較長。現...

提公升思考 學習記錄的重要性和優先順序

越發越發現知識整理的重要性。總覺得追求新知識要比梳理老知識重要,但發現當知識積累到一定階段,需要整理出知識框架的時候 conect dots 經常需要老知識參與添肉加血。人腦容量有限,需要時又不能那麼方便的信手拈來,隨之而來的是苦惱加繁忙的查詢。while connecting dots,what ...