stm32中断,使用stm32tubemx和HAL库编程与串口通信

本文主要介绍中断原理及相关的编程方法,使用stm32tubemx和HAL库实现用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。串口中断方式做串口通信

目录

一、中断

1.什么是中断 

2 中断的作用 

3 中断优先级

二、CubeMX以中断方式点灯 

1 工程建立与环境配置

2 管脚,时钟设置

3 代码编写

4 电路连接

5 结果展示

三、STM32CUBEMX生成中断通信代码

1工程设置

2 代码编写

四、参考资料 


一、中断

1.什么是中断 

中断是指计算机运行过程中,出现某些意外情况或非预期的急需处理事件,cpu能停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行或调度新的进程执行的过程。

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

  • 同步中断——同步中断是当指令执行时由 控制单元产生的,之所以称为同步,是因为只有在一条指令终止执行后 CPU 才会发出中断
  • 异步中断——异步中断是由其他硬件设备依照 CPU 时钟信号随机产生的。

2 中断的作用 

①提高计算机系统效率。计算机系统中处理机的工作速度远高于外围设备的工作速度。通过中断可以协调它们之间的工作。当外围设备需要与处理机交换信息时,由外围设备向处理机发出中断请求,处理机及时响应并作相应处理。不交换信息时,处理机和外围设备处于各自独立的并行工作状态。

②维持系统可靠正常工作。现代计算机中,程序员不能直接干预和操纵机器,必须通过中断系统向操作系统发出请求,由操作系统来实现人为干预。主存储器中往往有多道程序和各自的存储空间。在程序运行过程中,如出现越界访问,有可能引起程序混乱或相互破坏信息。为避免这类事件的发生,由存储管理部件进行监测,一旦发生越界访问,向处理机发出中断请求,处理机立即采取保护措施。

③满足实时处理要求。在实时系统中,各种监测和控制装置随机地向处理机发出中断请求,处理机随时响应并进行处理。

④提供故障现场处理手段。处理机中设有各种故障检测和错误诊断的部件,一旦发现故障或错误,立即发出中断请求,进行故障现场记录和隔离,为进一步处理提供必要的依据。

3 中断优先级

  • 多个中断同时出现时,处理器先响应高优先级的中断
  • 低优先级中断的ISR执行时,可以被高优先级中断再次打断
  • ISR比App Code拥有更高的执行优先级

二、CubeMX以中断方式点灯 

1 工程建立与环境配置

建立工程我就不多赘述了 如果需要教程可以看本人前面写的博客

(嵌入式系统开发)stm32CubeMX环境配置,配合keil使用寄存器点灯_我想恰鱼的博客-优快云博客

本人用的是STM32F103RC芯片

配置RCC使用外部时钟源,选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)

 点击SYS选择Serial Wire

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值