STM32之中断和DMA通信

本文详细介绍了STM32中如何使用中断和DMA进行通信。通过STM32CUBEMX配置中断点灯及中断通信代码,并展示了DMA在串口通信中的应用。实验过程包括设置时钟、配置GPIO、NVIC中断、USART和DMA,以及烧录和硬件连接,最终实现了有效的数据传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是中断

1.中断即打断,实至CPU再执行当前程序时,由于系统出现了某种需要处理的紧急情况,CPU暂停正在执行的程序,转而去执行另一段特殊程序来处理的出现的紧急事务,处理结束后CPU自动返回到原先暂停的程序中去继续执行,这种执行过程由于外界的的原因被中间打断的情况成为中断

二、STM32CUBEMX生成中断点灯代码

1.首先打开STM32CUBEMX,新建一个工程,依然选择芯片STM32F103C8
在这里插入图片描述
2.点击开始工程,配置系统调试接口 SYS,选择 Serial Wire
在这里插入图片描述
3.配置外设 RCC ,选择 HSE (外部高速时钟)为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
在这里插入图片描述
4.设置LED灯引脚为PA1的输出模式 GPIO_Output,按键引脚为PB15的外部中断模式GPIO_EXIT1
在这里插入图片描述
5.LED对应PA1管脚,User Label处设置为LED,开关对应PB15管脚,GPIO mode处设置为上升沿触发,User Label处设置为 KEY
在这里插入图片描述
6.使能外部中断线,点击Enabled
在这里插入图片描述
7.设置时钟树,选择PLLCLK,修改HCLK为36MHz
在这里插入图片描述
8.设置项目名称和路径,修改Toolchain/IDE为MDK-ARM
在这里插入图片描述
9.打开keil,打开建好的工程LED,在main.c文件中添加以下代码
/

  • @brief EXTI line detection callbacks.
  • @param GPIO_Pin: Specifies the pins connected EXTI line,
  • @retval No
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值