STM32f1的中断系统

本文介绍了STM32F1单片机的中断系统,包括异常与中断的概念,外部中断的理解,以及中断通道、优先级、抢占优先级和优先级分组的详细解析,帮助读者理解STM32中断处理机制。
摘要由CSDN通过智能技术生成

stm32是一款基于cortex m3的单片机,其对中断的控制在核内部,因此stm32对中断处理与cortex m3区别不大

一、几个概念

          异常与中断:《权威指南》译者给出的定义为:“所有能打断正常执行流的事件都称为异常”、“异常与中断的区别在于,那240个中断对CM3核来说是‘突发事件’,也就是说该请求信号来自CM3核的外面,对CM3核来说是‘异步’的;而异常则是因CM3核的活动产生的,在执行指令或访问存储器时产生的,对CM3核是‘同步’的”。我认为他第一句和第二句矛盾。对这个问题有两个理解:

        第一种就是第一句的理解。第二种理解为:编号(权威手册表述)0~15的为异常,16~255的‘外部中断’就是中断。我认为这只是概念的冲突,并不影响对芯片的使用,本文采用第一种理解。

         外部中断:对这个概念的理解有两个出发点,若讨论内核,则来自核以外的中断,即编号16~255的都叫外部中断。另外一种是从stm32芯片出发来理解,所谓的“外部”是指受EXTI控制的中断。本文研究的是单片机,采用第二种理解,同时把16~255号称为中断。

        事件与通道。事件还不能算为一个中断。上面谈到的16~255号中断,在stm32中其实是中断通道的概念,多个要申请中断的事件可能会公用一个中断通道,在核看来他们是一样的,只有在中断服务子程序里读标志位才能分辨到底是谁申请的中断。就好像一个宿舍里好几个人,通过一部公用电话给警

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值