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

串口中断服务函数如果还没结束就再加串口中断会怎样?

chunyang 2018-04-10 浏览量:1973
请问一下,串口中断服务函数如果还没处理结束,又来一个串口中断,那么会崩调吗,程序是如何运行的?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 中断处理的时候,中断关了,不会再相应串口中断,处理完了才打开串口中断,才能再相应。如果来个其他的中断比如gpio中断,要看优先级,高优先级会打断地优先级,嵌套。用系统的话rtos,串口操作都不能被打断要进临界压力
    • 发布于 2018-04-10
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:18
  • 我想,加验证和时间限制,可以处理下这种异常
    • 发布于2018-04-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 程序不会有问题,有硬件FIFO的串口工作完全不受影响,没有FIFO的会产生一个溢出错误丢失一帧数据,除此之外没有任何影响。
    • 发布于2018-04-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 在中断处理中,对应中断响应会被禁止,直到完成处理,恢复响应,所以你说的情况对程序来说不存在。

    此外,如果串口有FIFO缓存,则在FIFO未填满时后续信息会被缓存,在上轮串口中断处理完成后再次触发使用。

    • 发布于2018-04-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 中断优先级相同,不会抢占。数据还在串口缓存里。
    • 发布于2018-04-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 不会的,stm32datasheet说到过中断后又进来同样的中断时的情况,后来的中断只会把中断标志置位,在当前中断处理完,要推出的时候硬件会再次检测中断标志的,如果还有中断,将不会返回,而是继续进入中断执行程序
    • 发布于2018-04-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 不会的,会根据中断配置的优先级,来顺序处理的。
    • 发布于2018-04-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 没有接收完成之前是不会再次中断的,
    • 发布于2018-04-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 这回根据串口的优先级来合理分配的,一般是不会冲突的
    • 发布于2018-04-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 有优先级,中断只是一个提示作用,uart内部有一个fifo,只要处理时间不太长,不会存在问题
    • 发布于2018-04-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 有串口中断优先级的,不管是 51 还是stm32 都是有芯片自己一套中断管理机制的。32的中断管理更加牛逼
    • 发布于2018-04-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 不会的吧,不是有中断优先级吗?同一种抢占优先级的中断之间不会打断。。
    • 发布于2018-04-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种情况下下一次的中断接收到的数值会丢失,所以中断函数那里一般只搬运数据,不进行处理
    • 发布于2018-04-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 程序是不会有事儿的,不会飞的,只是会把后到的数据丢掉。不去处理
    • 发布于2018-04-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 多串口中断有优先级的,但看是不是独立的buf缓存区,如果是新来的信息回刷新掉以前的接受信息
    • 发布于2018-04-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 崩溃不会,如果不是优先响应当前执行会被强制中断的
    • 发布于2018-04-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 肯定会啊,STM32处理嵌套中断是看中断响应优先级和处理优先级的,如果新中断的优先级高就会优先处理,如果是同一个串口,那么没有处理完成的数据就会全部丢失。

    • 发布于2018-04-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

串口中断服务函数如果还没结束就再加串口中断会怎样?