这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » 中断服务程序不要占时太长,应尽快退出中断,在主循环中处理部分中断事件

共2条 1/1 1 跳转至

中断服务程序不要占时太长,应尽快退出中断,在主循环中处理部分中断事件

助工
2025-06-24 14:36:53     打赏
中断服务程序不要占时太长尽快退出中断服务程序 !
===防止 影响 其他 中断的响应速度
主循环中处理部分不是特急中断任务,而不是全部由中断服务程序来完成


中断需服务的事件 分2种:
A, 需立即处理的事件;
B, 可以在中断服务程序中,树立软件标志,
    然后在主循环中查询软件标志,再去处理的事件;

1,如部分特急的任务,占时很短,就直接在中断服务程序中处理,如 <【2uS - 20uS】
=====如 只是 读走数据/送数据,改变状态而已 !
=====如  STC8H8K64U40MHz, 则可以 【大致执行40条指令/uS
2,部分不是特急的任务,占时较长,如  >【10uS/20uS/30uS/40uS/50uS...】
=====如果占时较长的话,在中断服务程序中,树立软件标志,
            然后在主循环中查询处理

需时长,那就只能在主程序中处理需要处理时间较长的事件
正在执行的中断:会屏蔽【低优先级的中断】和【同级的中断/含自己又发生的中断】;
直到执行完并退出,同级的和低优先级
中断才会被执行。
如果STC8H8K64U跑40MHz, 则可以 【大致执行40条指令/uS
一般中断服务程序都很短,如 <【2uS - 20uS】
只是
读走数据/送数据,改变状态,树立特殊标志位,而已。
如果复杂的话,是树立
软件标志,然后在主循环中查询处理 !

演示程序,见最新 ISP 软件中的 范例程序 部分

AIapp-ISP-v6.95V.zip




关键词: 中断     主循环    

专家
2025-06-24 14:46:27     打赏
2楼

更习惯于在中断处理中设置标志,在外部处理。中断处理中发生嵌套(含自身嵌套)感觉是挺危险的事情。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]