• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

如何多个中断使用中,防止冲突

liuxiaofei126 2019-03-06 浏览量:1913
在STM32中,如何对多中断使用,防止冲突
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • STM32 有中断优先级的,可以实现中断嵌套。

    即使某一个时刻,同时触发两个中断,STM32内核也会根据中断优先级的设定和嵌套规则,

    分别先后响应这两个中断,并不会造成中断丢失。

    另外在设计中断函数的时候,唯一的要求就是:

    中断函数要求快进快出,越短越好。费时的处理一定要拿到主函数中进行。


    例如:在串口接收中断中,我只接收数据,至于数据是否正确,协议解析,和应答,那就拿到主函数中去处理。

    • 发布于 2019-03-07
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:16

  • STM32的中断是分优先级的,最好的方式是,中断里面尽可能进行一些原子操作,不要有多个中断同时访问一个资源
    • 发布于2019-03-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 不同的中断有各自的中断处理函数的,另外加互斥量也可以
    • 发布于2019-03-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 设置好中断优先级,也可以使用多中断嵌套
    • 发布于2019-03-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 单片机内运行的程序其实就是你的思路,是你办事流程,他会冲突,说明你思路有不合适的地方,或者你对单片机不熟悉
    • 发布于2019-03-07
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32中断存在优先级高低,即使多个中断同时触发,也不影响中断执行,不会发生冲突
    • 发布于2019-03-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 在单片机中,多中断是分优先级的,高优先级中断会打断低优先级中断,同等级中断是等待处理。
    • 发布于2019-03-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 根据中断任务情况设置分配中断优先级,高优先级的任务打断低优先级任务。
    • 发布于2019-03-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 使用多中断,每一个中断设置不同的优先级,STM32会根据优先级的不同相应不同的中断,优先级高的会被优先相应。

    中断中处理事务越少越好,处理事务的业务应该交给后台的主循环或者RTOS的任务去处理。

    • 发布于2019-03-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 中断都会有点冲突,想 linux 中断也会,linux 采用的中断上半部分,下半部分,上半部分只处理中断,下半部分执行中断任务。中断处理尽可能短
    • 发布于2019-03-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 一是中断优先级的,二是上实时操作系统,多任务运行
    • 发布于2019-03-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 要设置中断优先级,单片机是顺序执行的,代码不会冲突,只是有运行的先后顺序
    • 发布于2019-03-07
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32中断存在优先等级  可以设置中断优先等级
    • 发布于2019-03-13
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32可以设置多个中断优先级,支持中断嵌套。设置好中断优先级就能比较好的避免中断冲突。
    • 发布于2019-03-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 设置不同中断优先级即可,即不同组或同组不同响应优先级,那么低优先级中断会被高优先级中断打断。

    • 发布于2019-03-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何多个中断使用中,防止冲突