0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用STM32CubeMx的串口DMA收发数据

撞上电子 2023-12-12 08:00 次阅读

一,代码生成

按以前的方法设置好时钟和调试方式,这里就不多说了。

831169fc-9881-11ee-9788-92fbcf53809c.png831ec9ee-9881-11ee-9788-92fbcf53809c.png

2.设置串口1。

833637be-9881-11ee-9788-92fbcf53809c.png

3.在DMA Setting里点击Add添加USART1_TX,Mode有两种模式,一种是普通模式,使用一次发送语句就发一次,另一种是循环模式,使用一次发送会一直发送。这里发送我选择普通模式,接收选择循环模式。

8346e974-9881-11ee-9788-92fbcf53809c.png

4.在中断设置里打开串口1的中断。

8357a3cc-9881-11ee-9788-92fbcf53809c.png

5.时钟和文件路径等设置好,然后点生成代码。

83691f4e-9881-11ee-9788-92fbcf53809c.png

二,代码编写

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”,然后从电脑发送给芯片任意字符,芯片再发回来。

83813188-9881-11ee-9788-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2270

    文章

    10896

    浏览量

    355755
  • 串口
    +关注

    关注

    14

    文章

    1551

    浏览量

    76431
  • dma
    dma
    +关注

    关注

    3

    文章

    560

    浏览量

    100551
收藏 人收藏

    评论

    相关推荐

    STM32CUBEMX开发GD32F303(9)----USART通过DMA收发

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD32303C_START开发板内进行验证。 本章主要配置串口进行DMA
    的头像 发表于 11-29 11:15 2102次阅读
    <b class='flag-5'>STM32CUBEMX</b>开发GD32F303(9)----USART通过<b class='flag-5'>DMA</b><b class='flag-5'>收发</b>

    STM32CubeMX串口中断模式收发数据

    概述上一篇 说了 STM32CubeMX串口的使用 (阻塞模式) ,这一章来说说串口中断模式收发数据。文章目录概述一. 在
    发表于 08-13 08:34

    使用STM32CubeMX实现中断模式下的串口收发

    cube是ARM发布的针对于STM32的一个底层初始化的软件,使用STM32CubeMX实现中断模式下的串口收发
    发表于 02-25 14:12 2次下载

    STM32cubeMX串口使用教程免费下载

    本文档的主要内容详细介绍的是STM32cubeMX串口使用教程免费下载。
    发表于 12-03 11:31 27次下载
    <b class='flag-5'>STM32cubeMX</b>的<b class='flag-5'>串口</b>使用教程免费下载

    STM32CUBEMX配置教程(十二)STM32的定时器触发的固定频率ADC采样(使用DMA

    STM32CUBEMX配置教程(十二)STM32的定时器触发的固定频率ADC采样(使用DMA
    发表于 11-24 13:51 85次下载
    <b class='flag-5'>STM32CUBEMX</b>配置教程(十二)<b class='flag-5'>STM32</b>的定时器触发的固定频率ADC采样(使用<b class='flag-5'>DMA</b>)

    STM32CUBEMX配置教程(十三)STM32的定时器触发的固定频率DAC输出(使用DMA

    STM32CUBEMX配置教程(十三)STM32的定时器触发的固定频率DAC输出(使用DMA
    发表于 11-24 14:06 46次下载
    <b class='flag-5'>STM32CUBEMX</b>配置教程(十三)<b class='flag-5'>STM32</b>的定时器触发的固定频率DAC输出(使用<b class='flag-5'>DMA</b>)

    STM32F407的串口UART 基础配置STM32CubeMX

    STM32F407的串口UART 基础配置STM32CubeMX
    发表于 11-29 16:06 55次下载
    <b class='flag-5'>STM32</b>F407的<b class='flag-5'>串口</b>UART 基础配置<b class='flag-5'>STM32CubeMX</b>

    STM32CubeMX完成USART串口通信

    STM32CubeMX完成USART串口通信
    发表于 12-06 20:36 24次下载
    <b class='flag-5'>STM32CubeMX</b>完成USART<b class='flag-5'>串口</b>通信

    作业七STM32CubeMX及汇编语言串口通信

    作业七STM32CubeMX及汇编语言串口通信
    发表于 12-07 09:06 2次下载
    作业七<b class='flag-5'>STM32CubeMX</b>及汇编语言<b class='flag-5'>串口</b>通信

    STM32CubeMX HAL库串口+DMA+IDLE空闲中断不定长度数据接收和发送

    Cube_FW_F1_V1.8.0(STM32Cube MCU Package for STM32F1xx Series)本文内容:不定长数据接收的原理IDLE空闲中断介绍串口接收ID
    发表于 12-07 11:36 25次下载
    <b class='flag-5'>STM32CubeMX</b> HAL库<b class='flag-5'>串口</b>+<b class='flag-5'>DMA</b>+IDLE空闲中断不定长度<b class='flag-5'>数据</b>接收和发送

    STM32 HAL CubeMX 串口IDLE接收空闲中断+DMA

    关于DMA原理部分讲解,及CubeMx配置部分,请参考该文章【STM32】HAL库 STM32CubeMX教程十一—DMA (
    发表于 12-20 19:39 31次下载
    <b class='flag-5'>STM32</b> HAL <b class='flag-5'>CubeMX</b> <b class='flag-5'>串口</b>IDLE接收空闲中断+<b class='flag-5'>DMA</b>

    STM32CUBEMX配置教程(九)STM32串口DMA收发数据

    STM32CUBEMX配置教程(九)STM32串口DMA收发数据基于
    发表于 12-24 18:47 24次下载
    <b class='flag-5'>STM32CUBEMX</b>配置教程(九)<b class='flag-5'>STM32</b><b class='flag-5'>串口</b><b class='flag-5'>DMA</b><b class='flag-5'>收发</b><b class='flag-5'>数据</b>

    基于STM32CubeMX——HAL库开发的串口通讯(DMA模式)

    STM32CubeMX——串口STM32CubeMX配置相关函数重新配置printf与scanf配置代码STM32CubeMX配置首先打开STM32
    发表于 12-24 18:48 13次下载
    基于<b class='flag-5'>STM32CubeMX</b>——HAL库开发的<b class='flag-5'>串口</b>通讯(<b class='flag-5'>DMA</b>模式)

    STM32CubeMX-串口开启DMA进行数据传输

    STM32CubeMX笔记-串口开启DMA进行数据传输
    发表于 12-27 18:40 7次下载
    <b class='flag-5'>STM32CubeMX</b>-<b class='flag-5'>串口</b>开启<b class='flag-5'>DMA</b>进行<b class='flag-5'>数据</b>传输

    STM32CubeMX串口接收不定长数据

    基本串口通信通常只能接收到定长数据,无法稳定接收不定长数据,本章介绍利用STM32单片机的IDLE空闲中断,接收不定长
    的头像 发表于 05-11 09:59 3369次阅读
    <b class='flag-5'>STM32CubeMX</b>之<b class='flag-5'>串口</b>接收不定长<b class='flag-5'>数据</b>