DAY4 韦东山7天训练营(基础班)

主要内容:中断与串口

绪论:中断是为了处理突发事件 而产生的

中断含义:由于某一随机事件的发生,计算机暂停原事件运行,转而执行另一个事件,。处理完毕后又自动返回,执行原事件

中断

·NVIC,Nested Vectored Interrupt Controller,嵌套向量中断控制器,即中断优先级控制器

·中断嵌套,指新的优先级高的中断产生,会打断原来的中断

优先级 = 抢占优先级(影响是否嵌套)+子优先级(响应顺序)

1.抢占优先级高的中断可以 中断 优先级低的中断

2.两个中断的抢占优先级相同,后来中断要等前面的中断处理完

3.两个中断的抢占优先级相同,同时产生,子优先级高的先执行

4.抢占优先级、子优先级相同,同时产生,由中断向量表默认位置决定

·抢占优先级0 比 抢占优先级1 的优先级要高

图中得到的信息:

1.同组GPIO共享一条中断线,即如图PA0使用了中断,PB0和其他就不能使用中断(中断线我们需要使能)

2.EXTI控制是外部中断还是事件

3.中断控制器NVIC是设置中断优先级的

中断向量表

·即外设发生中断,就会执行中断向量表里面的对应的函数(具体函数的实现自己写)

·STM32的中断向量表在启动文件中找到(具体是keil工程中startup.s文件中找到)

·中断的回调函数:里面最好少放操作,最好只修改标志位,然后根据标志位,操作放在值函数是上,如提升课的第1天的,改进的事件驱动。

理由:

这样也会因为一个中断事件的运行时间长,影响其他中断事件的运行。但是我们这样设置的话,宁愿占据主函数的运行时间,也不愿占据回调函数运行时间,是因为这样虽然影响其他中断事件的运行,起码会保证一定会执行其他中断事件。如果一直执行回调函数,那么其他中断事件可能会被忽略,从而不会运行中断事件!!!

1.这个函数里面写中断的事件,即产生中断后需要执行的任务

2.里面的HAL_GPIO右键跳转到定义

3.真正的事件写在HAL_GPIO_EXTI_Callba

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值