本文主要介绍中断原理及相关的编程方法,使用stm32tubemx和HAL库实现用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。串口中断方式做串口通信
目录
一、中断
1.什么是中断
中断是指计算机运行过程中,出现某些意外情况或非预期的急需处理事件,cpu能停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行或调度新的进程执行的过程。

中断分为同步中断和异步中断。
- 同步中断——同步中断是当指令执行时由 控制单元产生的,之所以称为同步,是因为只有在一条指令终止执行后 CPU 才会发出中断
- 异步中断——异步中断是由其他硬件设备依照 CPU 时钟信号随机产生的。
2 中断的作用
①提高计算机系统效率。计算机系统中处理机的工作速度远高于外围设备的工作速度。通过中断可以协调它们之间的工作。当外围设备需要与处理机交换信息时,由外围设备向处理机发出中断请求,处理机及时响应并作相应处理。不交换信息时,处理机和外围设备处于各自独立的并行工作状态。
②维持系统可靠正常工作。现代计算机中,程序员不能直接干预和操纵机器,必须通过中断系统向操作系统发出请求,由操作系统来实现人为干预。主存储器中往往有多道程序和各自的存储空间。在程序运行过程中,如出现越界访问,有可能引起程序混乱或相互破坏信息。为避免这类事件的发生,由存储管理部件进行监测,一旦发生越界访问,向处理机发出中断请求,处理机立即采取保护措施。
③满足实时处理要求。在实时系统中,各种监测和控制装置随机地向处理机发出中断请求,处理机随时响应并进行处理。
④提供故障现场处理手段。处理机中设有各种故障检测和错误诊断的部件,一旦发现故障或错误,立即发出中断请求,进行故障现场记录和隔离,为进一步处理提供必要的依据。
3 中断优先级
- 多个中断同时出现时,处理器先响应高优先级的中断
- 低优先级中断的ISR执行时,可以被高优先级中断再次打断
- ISR比App Code拥有更高的执行优先级
二、CubeMX以中断方式点灯
1 工程建立与环境配置
建立工程我就不多赘述了 如果需要教程可以看本人前面写的博客
(嵌入式系统开发)stm32CubeMX环境配置,配合keil使用寄存器点灯_我想恰鱼的博客-优快云博客
本人用的是STM32F103RC芯片
配置RCC使用外部时钟源,选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)

点击SYS选择Serial Wire


最低0.47元/天 解锁文章
2749

被折叠的 条评论
为什么被折叠?



