全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

基于STM32H5的UART通信的演示过程

时间:2023-08-04 09:16

人气:

作者:admin

标签: HAL库  STM32  uart通信  VCP 

导读:基于STM32H5的UART通信的演示过程-最近可能不少人手上弄到了ST发布的的基于M33内核的H5系列Nucleo开发板,这里也用该开发板体验下UART通信,做些验证与确认。【提醒,下面测试过程中没有...

最近可能不少人手上弄到了ST发布的的基于M33内核的H5系列Nucleo开发板,这里也用该开发板体验下UART通信,做些验证与确认。【提醒,下面测试过程中没有开启TrustZone功能】

有人在使用过程中,根据开发板手册描述,芯片的UART3默认与STLINK的VCP口相连,测试中感觉好像又不是。这里不妨一起验证下。根据该开放板使用手册描述,UART3[PD8/PD9]默认是与STLINK VCP的接口

73aed4b2-3257-11ee-9e74-dac502259ad0.png

基于上面硬件条件,使用CubeMx简单配置即可验证。

73f0ddbc-3257-11ee-9e74-dac502259ad0.png

7415f71e-3257-11ee-9e74-dac502259ad0.png

创建工程后,在用户代码里调用HAL_UART_Transmit(&huart3, (uint8_t *)tx1_buffer,  Size, TimeOut)函数,在串口输出终端即可看到结果。看来一切正常。

7457aa24-3257-11ee-9e74-dac502259ad0.png

说明UART3的TX/RX脚【PD8/PD9】的确如手册所言,默认与VCP接口相连。

上面是基于查询方式做了UART的发送,如果采用DMA方式呢?我们也可以顺便体验下。

我这里使用GPDMA1的CH0和CH1,分别实现UART3的接收与发送。UART3的DMA接收采用Circular模式,外设到内存的传输方向;发送采用Normal模式,内存到外设的传输方向。源端与目的端访问数据宽度均为Byte。DMA请求使用标准请求模式。

749e7ff8-3257-11ee-9e74-dac502259ad0.png

74c7a8b0-3257-11ee-9e74-dac502259ad0.png

74f1ba92-3257-11ee-9e74-dac502259ad0.png

创建基于STM32HAL库的工程,添加、整理用户代码。

 

#deifne RX_SIZE  (16)
#define TX_SIZE  (33)
  
ALIGN_32BYTES (uint8_t tx1_buffer[])="**STM32H5 UART Test with Polling**

";
ALIGN_32BYTES (uint8_t tx_buffer[])="**STM32H5 UART Test with DMA**

";
ALIGN_32BYTES (uint8_t rx_buffer[16]);
  
  __HAL_LINKDMA(&huart3, hdmarx , handle_GPDMA1_Channel0);


  __HAL_LINKDMA(&huart3, hdmatx, handle_GPDMA1_Channel1);
    
   HAL_UART_Receive_DMA(&huart3,  rx_buffer,  RX_SIZE);//For RX
   
   。。。。。
     /* USER CODE BEGIN WHILE */
while (1)
  {


  HAL_Delay(2023);


  HAL_UART_Transmit_DMA(&huart3, (uint8_t *)tx_buffer, TX_SIZE);
  //HAL_UART_Transmit(&huart3, (uint8_t *)tx1_buffer, 37,0xfff);
   huart3.gState = HAL_UART_STATE_READY;
    
  }

 

稍加调试后运行程序看结果。下面左侧窗口为UART3通过DMA发送出来的信息,右侧为串口助手发送后UART3通过DMA接收到的信息。

752010f4-3257-11ee-9e74-dac502259ad0.png

好,基于STM32H5的UART通信的演示就到这里。内容不难,主要是做了些验证。这些验证过程及结果的确也能为初次接触该板或该MCU系列的人在遇到相关问题时予以信心,在调试受阻时能尽快地锁定问题方向。毕竟做开发调试时,信心和问题方向都是非常重要的因素。





审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信