一,代码生成
按以前的方法设置好时钟和调试方式,这里就不多说了。
2.设置串口1。
3.在DMA Setting里点击Add添加USART1_TX,Mode有两种模式,一种是普通模式,使用一次发送语句就发一次,另一种是循环模式,使用一次发送会一直发送。这里发送我选择普通模式,接收选择循环模式。
4.在中断设置里打开串口1的中断。
5.时钟和文件路径等设置好,然后点生成代码。
二,代码编写
1.先定义发送和接收的数组。
/* USER CODE BEGIN 0 */uint8_t aRxBuffer[1];uint8_t aTxBuffer[]="ok";/* USER CODE END 0 */
2.打开串口DMA的发送使能,while循环可以放一些LED的闪烁。
/* USER CODE BEGIN 2 */ HAL_UART_Receive_DMA(&huart1,aRxBuffer,1); HAL_UART_Transmit_DMA(&huart1,aTxBuffer,sizeof(aTxBuffer)); /* USER CODE END 2 */
3.最后加上一个串口接收函数的回调函数,把接收到的数据再发出去。
/* USER CODE BEGIN 4 */void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle){ HAL_UART_Transmit(&huart1,aRxBuffer,1,0);}/* USER CODE END 4 */
三,现象:
电脑的串口会收到“OK”,然后从电脑发送给芯片任意字符,芯片再发回来。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
STM32
+关注
关注
2270文章
10896浏览量
355755 -
串口
+关注
关注
14文章
1551浏览量
76431 -
dma
+关注
关注
3文章
560浏览量
100551
发布评论请先 登录
相关推荐
STM32CUBEMX开发GD32F303(9)----USART通过DMA收发
概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD32303C_START开发板内进行验证。 本章主要配置串口进行DMA
STM32CubeMX串口中断模式收发数据
概述上一篇 说了 STM32CubeMX之串口的使用 (阻塞模式) ,这一章来说说串口中断模式收发数据。文章目录概述一. 在
发表于 08-13 08:34
使用STM32CubeMX实现中断模式下的串口收发
cube是ARM发布的针对于STM32的一个底层初始化的软件,使用STM32CubeMX实现中断模式下的串口收发
发表于 02-25 14:12
•2次下载
STM32CUBEMX配置教程(十二)STM32的定时器触发的固定频率ADC采样(使用DMA)
STM32CUBEMX配置教程(十二)STM32的定时器触发的固定频率ADC采样(使用DMA)
发表于 11-24 13:51
•85次下载
STM32CUBEMX配置教程(十三)STM32的定时器触发的固定频率DAC输出(使用DMA)
STM32CUBEMX配置教程(十三)STM32的定时器触发的固定频率DAC输出(使用DMA)
发表于 11-24 14:06
•46次下载
STM32CubeMX HAL库串口+DMA+IDLE空闲中断不定长度数据接收和发送
Cube_FW_F1_V1.8.0(STM32Cube MCU Package for STM32F1xx Series)本文内容:不定长数据接收的原理IDLE空闲中断介绍串口接收ID
发表于 12-07 11:36
•25次下载
STM32 HAL CubeMX 串口IDLE接收空闲中断+DMA
关于DMA原理部分讲解,及CubeMx配置部分,请参考该文章【STM32】HAL库 STM32CubeMX教程十一—DMA (
发表于 12-20 19:39
•31次下载
基于STM32CubeMX——HAL库开发的串口通讯(DMA模式)
STM32CubeMX——串口STM32CubeMX配置相关函数重新配置printf与scanf配置代码STM32CubeMX配置首先打开STM32
发表于 12-24 18:48
•13次下载
评论