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

stm32外部中断疑问

小熊123 2018-01-31 浏览量:864
1.STM32的中断分级好像不管怎么分组之后,总共只能分出16级。。。那只能写16个中断吗?
2.STM32的外部中断的线是很多IO口公用的,比如EXIT0是PA0,PB0,PC0。。共用,那我想用这些口,都去做EXIT0的中断管脚,然后在中断处理中判断哪个进行的中断,这样可以吗?怎么配置呢?
3.如果我希望在一个中断处理的时候,另一个中断进来,它能进行处理吗?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1.外部中断只有16个中断线,10个中断服务函数,其中中断线10-15公用一个中断服务函数

    2.这个是不行的,在中断服务函数中一组中断线只有一个引脚可以被启用,如果启用了PA0,PB0再启用就会冲突
    3.这个根据中断优先级和响应等级进行区分,高优先级中断可以打断低优先级中断,反过来就不行

    • 发布于 2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :G5SB-14 DC12 Omron Electronics Inc-EMC Div 回复

其他答案 数量:3
  • 1、中断可以有很多个,只是优先级有16个而已,相同优先级的按照触发先后顺序来处理

    2、不建议这样做,如果多个引脚同时有中断产生不好处理

    3、优先级高的中断可以打断优先级低的中断处理程序

    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :他们所含的材料成分不一样,如附件图片 回复

  • 1.中断个数和中断优先级是不同的概念,没有直接关系,每一个中断都可以设置成16个优先级中的任何一个,不同中断可以设置成同样的优先级,同样的优先级有固定的处理顺序。

    2.不行,一个外部中断只能给一个引脚用。

    3.高优先级可以打断低优先级程序,只要后来的优先级设置的更高就可以。

    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :12034046-L Bulk(带“L”) 12034046 reel 回复

  • 如果在一条中断线上,则不能共用,例如PA0,PB0,PC0不能同时接受中断。


    画原理图之初就要注意这个。

    • 发布于2018-01-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :https://pdf1.alldatasheet.com/datasheet-pdf/view/1229308/VBSEMI/NTD25P03LT4G.html 回复

相关问题

问题达人换一批

stm32外部中断疑问