+ u# I) m9 E& {. l: Y; _ I$ V 最近可能不少人手上弄到了ST发布的的基于M33内核的H5系列Nucleo开发板,这里也用该开发板体验下UART通信,做些验证与确认。【提醒,下面测试过程中没有开启TrustZone功能】 有人在使用过程中,根据开发板手册描述,芯片的UART3默认与STLINK的VCP口相连,测试中感觉好像又不是。这里不妨一起验证下。根据该开放板使用手册描述,UART3[PD8/PD9]默认是与STLINK VCP的接口。 基于上面硬件条件,使用CubeMx简单配置即可验证。2 ~; I% |2 A( D6 f' x5 B 7 F2 b8 {4 S9 M( X! }0 | N9 L; d% U: U 创建工程后,在用户代码里调用HAL_UART_Transmit(&huart3, (uint8_t *)tx1_buffer, Size, TimeOut)函数,在串口输出终端即可看到结果。看来一切正常。 6 B: F4 R# w! b) _5 @7 S说明UART3的TX/RX脚【PD8/PD9】的确如手册所言,默认与VCP接口相连。 d; X+ S7 ?0 e& w- p' ]( u1 [+ V 上面是基于查询方式做了UART的发送,如果采用DMA方式呢?我们也可以顺便体验下。" i2 F; G$ }1 }; L1 l, T 我这里使用GPDMA1的CH0和CH1,分别实现UART3的接收与发送。UART3的DMA接收采用Circular模式,外设到内存的传输方向;发送采用Normal模式,内存到外设的传输方向。源端与目的端访问数据宽度均为Byte。DMA请求使用标准请求模式。 # x6 y! [: r7 [, A( ]4 ], u# [& P; t, ~ 创建基于STM32HAL库的工程,添加、整理用户代码。) M+ n0 c% m' j
稍加调试后运行程序看结果。下面左侧窗口为UART3通过DMA发送出来的信息,右侧为串口助手发送后UART3通过DMA接收到的信息。 & o! J$ |0 ~0 B2 ?$ S* M好,基于STM32H5的UART通信的演示就到这里。内容不难,主要是做了些验证。这些验证过程及结果的确也能为初次接触该板或该MCU系列的人在遇到相关问题时予以信心,在调试受阻时能尽快地锁定问题方向。毕竟做开发调试时,信心和问题方向都是非常重要的因素。 3 [) @9 T1 h3 h 转载自: 茶话MCU 如有侵权请联系删除 - t0 I. s; d2 M4 v% `" k1 f6 u3 W |
基于STM32H5 DA证书链之体验经验分享
基于STM32U5系列TIMER+DMA+DAC应用经验分享
基于STM32H5的DA之初体验经验分享(不带 Trust Zone)
基于STM32H5的OEMiROT经验分享
基于STM32H5读取温度传感器经验分享
基于STM32双定时器+ADC+DMA实战经验分享
【STM32MP135-DK】裸机移植shell
NUCLEO-U545RE-Q评测】3. 串口基本收发测试
NUCLEO-U545RE-Q评测】4. 串口实用收发测试
基于STM32 DMA传输的两个问题释疑
学习
签到