中断管理-优先级管理-中断嵌套-门禁

1 中断源

 

中断 描述 优先级  抢占优先级、响应优先级 中断嵌套

TIM2_IT_Update

心跳包  3   U2:USART_IT_RXNE

TIM3_IT_Update

刷卡串口3---关联  0 0 1  

TIM4_IT_Update

GPRS串口2---关联  1    

TIM5_IT_Update

ESP32串口1---关联  1    

TIM6_IT_Update

继电器开门  0 0 1  

TIM7_IT_Update

蜂鸣器-网络重连-发送卡号  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)开门中断TIM6、刷卡响应U3的优先级要高,要高于U2。

(3)确保在网络重连等情况时,若有本地刷卡,先响应刷卡结果,开了门之后再返回网络重连任务。

刷卡时序:U3->U3对应定时器-》卡号比较-》任务1:开门TIM6-》任务2:发送刷卡记录-U2

与网络通讯,上发数据相关的任务可能会出现比较耗时的情况,不要在关键事务中断函数中指令,应另开个低优先级中断入口去执行该任务。

 

调用AT指令的任务有:

(1)解析完json执行网络重连

(2)刷卡行为后上发刷卡记录

(3)定时上发心跳包数据

(4)报警记录上传

(5)上传临时密码查询

 

posted on 2018-03-08 18:23  马勇123  阅读(205)  评论(0编辑  收藏  举报

导航