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

外部中断PA8和PB8如何区分

SalatolLee 2019-04-24 浏览量:1443
在中断里面是怎么区分的
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 因为PA8和PB8是共用的一条中断线,当两个IO一起中断的时候是不能通过中断去区分的,所以这个时候只能通过IO的状态去识别,当检测到中后立即去读取PA8和PB8的状态,根据IO的状态才能区分两个IO的中断
    • 发布于 2019-04-29
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6
  • 中断方式只能有Px0-Px15 这16个中断,那么如果PA8 跟PB8同时设置了中断的话,片子只能检测到一个,也就是说你的PA8 跟PB8 如果硬件设计好了,就只能采取轮询方式读取是否按下
    • 发布于2019-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 区分方法就是进去中断后读取io状态来判断那个脚中断的,如果只配置一个脚中断可以不用判断
    • 发布于2019-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件中断线line8 只能接PA8或者PB8种的任意一个。

    不能两个同时接到一个中断号上。

    所以,你只有二选一,进行分配中断方式。这个是MCU规定好了的


    你可以使用其他的方式或者硬件的方式进行处理。

    • 发布于2019-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 由于使用同一条中断线,所以,触发 的是一个中断,一般只可以使用一个引脚,如果都使用了,可以在中断中通过读取IO口状态的方式区分
    • 发布于2019-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • PA8与PB8就是共用一组中断的,就叫做EXTI8。从硬件上面无法区分,所以一般是进入中断处理函数之后,再判断一下那个IO的电平状态,比如选择下降沿触发的,进了中断,就判断一下当前PA8与PB8的电平状态,哪个为低电平说明就是哪个触发的中断
    • 发布于2019-04-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般在设计时就要避免这样的判断,否则只能通过额外的判断来区分,比如在进入中断后再读取各个IO的状态,不过即使这样,也存在误判的可能,因为两个IO是可能同时触发的,甚至在极短时间内先后触发(系统无法有效分辨的情况),

    比如PB8先触发,但紧随着PA8也触发,按理该先处理PB8,但因为中断去扫描IO状态,发现PA8是触发态,就会先去处理PA8的(前面说了原因,并假设扫描时判断时程序设计为先扫描PA8,再扫描PB8,这个一定有一个顺序的,即使反过来,则另外一种触发情况一样造成乱序)。

    • 发布于2019-04-25
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

外部中断PA8和PB8如何区分