<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    在SMART如何運用中斷功能
    發布時間: 2023-11-30 23:46 更新時間: 2024-12-27 09:10

    01

    1.中斷功能概述


    中斷,就是終止當前正在運行的程序,去執行為響應特定信號而編寫的中斷服務程序,執行完畢后再返回原來終止的程序并繼續執行。


    02

     CPU支持的中斷事件及優先級使用


    CPU支持的中斷事件類型可分為三大類,通信中斷、IO中斷和定時中斷


    1. 通信中斷,是CPU在自由口模式下通訊端口在接收信息完成,發送信息完成,接收一個字符可以產生的中斷事件,利用接收和發送中斷可以簡化程序對通信的控制;


    2. IO中斷,包括上升/下降沿中斷、高速計數器中斷和脈沖串輸出中斷。


    CPU可以為輸入通道I0.0至I0.3,及可選信號板I7.0 和I7.1生成輸入上升和/或下降沿中斷;


    高速計數器,可在當前值等于預設值、方向改變或外部復位時生成中斷;


    脈沖串輸出,在指定的脈沖數完成輸出時可生成中斷。


    3. 定時中斷,包括定時中斷和定時器T32/T96 中斷。


    定時中斷的循環時間為特殊寄存器SMB34和SMB35決定,時間為1 ms到255 ms;


    定時器中斷是T32和T96定時器到時中斷。


    通常,可以使用定時中斷來控制模擬量輸入的采樣或定期執行PID回路。


    為便于識別和使用系統為每個中斷事件都分配了一個事件號,CPU中規定的中斷優先級順序和事件號對應說明如表格所示


    圖片


    每類中斷中不同的中斷事件處理時也有不同的優先權和處理原則:

    多個中斷事件同時發生時,根據優先級組以及組內優先權來確定首先處理哪一個中斷事件;


    優先級相同時,CPU按照先來先服務的原則處理中斷;


    任何時刻CPU只能執行一個用戶中斷程序,一旦一個中斷程序開始執行,它要一直執行到完成,即使更高優先級的中斷事件發生,也不能中斷正在執行的中斷程序,正在處理中斷時發生的其他中斷會進行排隊處理;


    每個優先級組分別設定排序隊列,隊列深度等上限如表格所示。

    圖片


    03

     中斷指令


    中斷指令包括中斷允許禁止、中斷事件關聯等指令:

    ENI: 中斷啟用指令,全局性啟用對所有連接的中斷事件的處理。


    DISI: 中斷禁止指令,全局性禁止對所有中斷事件的處理。


    RETI: 從中斷有條件返回指令,可用于根據前面的程序邏輯的條件從中斷返回。


    ATCH: 中斷連接指令,將中斷事件EVNT與中斷例程編號INT相關聯,并啟用中斷事件。


    DTCH: 中斷分離指令,解除中斷事件EVNT與所有中斷例程的關聯,并禁用中斷事件。


    CLR_EVNT: 清除中斷事件指令,從中斷隊列中移除所有類型為EVNT的中斷事件。



    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595