中斷程序和查詢方式的區(qū)別
查詢方式在程序運行時必須判斷溢出狀態(tài)位,溢出后須軟件清零。
本文引用地址:http://www.ex-cimer.com/article/201612/324156.htm查詢方式:發(fā)送數(shù)據(jù)——先發(fā)后查;
接收數(shù)據(jù)——先查后收。
中斷方式:發(fā)送數(shù)據(jù)——發(fā)送、等待中斷、中斷中發(fā)送;
接收數(shù)據(jù)——等待中斷、在中斷中接收
中斷方式,是事件觸發(fā)的,換言之只要有事件產(chǎn)生都會進入中斷,并且取得最優(yōu)運行,因此響應更快,及時。
查詢方式,就是在主函數(shù)里面不停循環(huán),查詢端口狀態(tài),明顯其弊端在于響應速度,在處理事件多,處理流程復雜,函數(shù)嵌套執(zhí)行的情況下,由于處理不過來容易丟失事件。
舉個例子,在電話用戶接入系統(tǒng)里面,一個單片機管理1個電話端口的摘掛機,執(zhí)行周期要求8ms,用查詢的方式足夠了,但是當電話增加到16個,用查詢方式,效果就差了,曾出現(xiàn)過電話響起的時(12個電話齊呼),拿起話筒,電話還在振鈴,明顯處理不過來。
這個時候,有兩個辦法,一個采用中斷方式,另一個采用更高效的CPU,明顯前者只需要修改軟件,后者需要增加硬件成本,還延長開發(fā)時間。
評論