一.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
参考博客: