中斷管理-優先級管理-中斷嵌套-門禁

1 中斷源json

 

中斷 描述 優先級  搶佔優先級、響應優先級 中斷嵌套

TIM2_IT_Update網絡

心跳包  3   U2:USART_IT_RXNE

TIM3_IT_Update函數

刷卡串口3---關聯  0 0 1  

TIM4_IT_Updatespa

GPRS串口2---關聯  1    

TIM5_IT_Update事務

ESP32串口1---關聯  1    

TIM6_IT_Updatetable

繼電器開門  0 0 1  

TIM7_IT_Updatedate

蜂鳴器-網絡重連-發送卡號  3    U2:USART_IT_RXNE

U2:USART_IT_RXNE定時器

GPRS-AT指令串口  1    
U3:USART_IT_RXNE

刷卡串口程序

 0 0 1    

U1:USART_IT_RXN密碼

ESP32-AT指令串口  1    

EXIT-line2

觸摸按鍵 0 0 2 開門-臨時密碼詢問

關鍵點:

(1)若在某個中斷服務程序中調用AT指令發送API,則要確保該中斷優先級要低於U2及其關聯定時器的中斷優先級。(這裏的優先級高低不是值的高低,是邏輯上優先級的高低)

(2)開門中斷TIM六、刷卡響應U3的優先級要高,要高於U2。

(3)確保在網絡重連等狀況時,如有本地刷卡,先響應刷卡結果,開了門以後再返回網絡重連任務。

刷卡時序:U3->U3對應定時器-》卡號比較-》任務1:開門TIM6-》任務2:發送刷卡記錄-U2

與網絡通信,上發數據相關的任務可能會出現比較耗時的狀況,不要在關鍵事務中斷函數中指令,應另開個低優先級中斷入口去執行該任務。

 

調用AT指令的任務有:

(1)解析完json執行網絡重連

(2)刷卡行爲後上發刷卡記錄

(3)定時上發心跳包數據

(4)報警記錄上傳

(5)上傳臨時密碼查詢

相關文章
相關標籤/搜索