Cortex-M0+ Uart中断编程

  1. 什么是中断

中断通常被定义为一个事件,该事件能够改变处理器执行指令的顺序。这样的事件与 CPU 芯片内外

部硬件电路产生的电信号相对应。

中断分为同步中断和异步中断。

同步中断:同步中断是当指令执行时由控制单元产生的,之所以称为同步,是因为只有在一条指令终

止执行后 CPU 才会发出中断。

异步中断:异步中断是由其他硬件设备依照 CPU 时钟信号随机产生的。

通常我们所说的中断指的是异步中断,我们将同步中断称为异常。(异常是由程序的错误产生的,或者

是由内核必须处理的异常条件产生的)。

  1. 中断的作用

当一个中断信号达到时,CPU 必须停止它当前正在做的事情,并且切换到一个另一个活动。为了做到

这就要在内核态堆钱保存程序计数器的当前值,并把与中断类型相关的地址放进程序计数量。

  1. 中断的约束

中断处理是由内核执行的最敏感的任务之一,因为它必须满足下列约束:

1)中断应该被尽可能快地处理完。

2)中断处理程序必须编成使相应的内核控制路径能以嵌套的方式执行。

3)内核在处理一个中断时,可接受新的中断。但存在一个临界区,中断必须被禁止。

出于 1)和 3)的约束,中断的设计一般将中断处理程序分为两部分执行(即上半部和下半部函数)。

上半部为中断被禁止的临界区,执行关键而紧急的任务,如把接收到的帧拷贝到输入队列,以便下半部函

数执行时能进行处理。

  1. hal库编程

4.1 stm32cubemx配置

①新建工程

②选择单片机芯片

③选择SWD下载调试模式

④选择外部晶振时钟源

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小徐的记事本

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值