STM32串口中断之DMA通信

一.DMA介绍

DMA详细介绍请转博客:

嵌入式:初次了解STM32的USART串口通讯(中断方式)_LaiYiFei25的博客-CSDN博客

DMA框图

 二.串口通信

要求

1)设置波特率为115200,1位停止位,无校验位;

2)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。

 3)用中断方式

1.创建CubeMX项目

选择自己的芯片型号,因为我的是STM32103C8

设置RCC,选择Crystal

 设置串口:

 设置中断

 DMA设置

 

 然后时钟设置

 设置保存路径和IDE

 

 

然后创建文件就行

三.

找到保存的keil5文件

打开main.c

插入

uint8_t Senbuff[] = "Hello world!";  //定义数据发送数组

 添加代码在while循环里:

  HAL_UART_Transmit_DMA(&huart1, (uint8_t *)Senbuff, sizeof(Senbuff));
  HAL_Delay(1000);

 编译生成hex文件

 然后打开烧录软件把程序烧录到芯片里面

 打开串口助手并且打开串口即可收到信息:hello world

 参考博客:

【STM32】 DMA原理,步骤超细详解,一文看懂DMA_Z小旋-CSDN博客_dma是什么意思

STM32串口DMA通信_LaiYiFei25的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值