欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 初學者關于單片機中斷優先級的疑問 [打印本頁]

作者: x016007    時間: 2019-6-14 23:11
標題: 初學者關于單片機中斷優先級的疑問
用單片機T0定時1ms中斷,同時用串口1通信

假設串口1正在接收連續很多個數據幀,這時剛好T0的中斷產生,T0中斷的優先級高于UART1中斷,

那么剩下還沒接收完的數據幀可以被接收嗎?  還是直接忽略掉?

另外,哪本教材適合初學者,而且講得清楚透徹的,麻煩推薦一本。

作者: yzwzfyz    時間: 2019-6-14 23:11
1、T0中斷后,進入中斷服務程序,如果你的服務程序很占時間,則會造成串口數制丟失。
高手在寫程序時間會考慮到這一點,設法防止這個問題出現。
2、你的T0中斷只有1ms,如果你的中斷服務程序超過1ms,則你的T0中斷也會計時也會失準。
3、如果你的中斷服務程序不足1ms,則一般不會影響到串行數所的下載,因為串行一個字節(以9600來計),不小于1ms(起始+數據+停止,不少于11個脈沖),但串行速度太快就無法保證了。
我寫程序時,所有的中斷服務程序都很短,只做標記,而不處理事件。事件只依據標記在主程序中處理,目的就是防止高級中斷影響低級中斷的運行。
中斷的處理是需要仔細規劃的。
作者: lwh999995    時間: 2019-6-15 00:21
1.如果T0與串口有所關聯, 那么接收串口數據時,可以先吧T0關閉, 接收完成再把T0打開. 也可以設置優先級.
2.教材很多種,這個透徹與不透徹沒多大關系,每個人的理解能力都不一樣,有的一看就懂,有的看很多次都不懂.
重要的是打好基礎, 想一步登天總是不好的, 有了一定的基礎后, 自然能看懂很多的東西.
作者: lele5211314    時間: 2019-6-15 13:49
這個時候會先處理TO的終端,處理完成后再返回來處理串口1的中斷,當然你可以設置串口中斷的優先級別最高
作者: 1204511152    時間: 2019-6-15 14:12
1.會先進行中斷的程序,完成后再繼續接收。
2.本人推薦一本教材:適合初學者入門的,因為里面的內容是結合實例一起來的,而且都是很簡單的例題。
《單片機的C語言程序設計與應用——基于Proteus仿真(第3版)》
作者: charles11    時間: 2019-6-15 14:47
沒有哪本教材是很透徹的。就算在透徹也有可能遇到新的問題,關鍵還是還是多打打代碼積累經驗。然后買開發板時通常里面會有很多程序,可以先看看別人怎么寫程序的,為什么要那么寫,可以自己學著模仿。然后把程序燒入開發板中觀察實驗現象,我就是這么學的。
作者: guoshizu    時間: 2019-6-15 15:55
是51單片機嗎?
    如果是51單片機,你可以使用tmod設置兩個定時器,然后使用tr0、tr1分別啟動兩個定時器。pt0置為“1”,就可以中斷定時器1的服務函數,相反,如果pt1置為“1”就可以中斷定時器0的服務函數。

    如果不設置pt的值,默認為“0”,這樣的話,t0和t1誰也不能中斷誰
作者: 13655    時間: 2019-6-15 16:29
郭天祥的那本書挺好的

作者: witheMe    時間: 2019-8-11 20:44
不可以繼續接受,你需要詳細了解單片機時序。
中斷沖突是非常常見的問題,你需要詳細學習
作者: qzwddf    時間: 2019-8-12 23:23
中斷跟數據傳輸是兩回事,你要考慮的僅僅是處理數據的速度是否能跟得上傳輸數據的速度,如果傳輸過快就會不行,處理越快越好的!一般在一比十是有冗余的!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1