前面几篇把灯学习了一番,今天来学点其它的外设-USART串口;此篇应用板载的ST-LINK V3的MCO引脚提供给主控MCU的旁路时钟源及USART3来进行串口数据的收发学习;; c& J: i- D8 a# j3 c: x 从原理图上可以看出USART3的RX和TX默认在引脚PD8/PD9上面;旁路时钟源为ST-Link的MCO提供的8M时钟源.# P/ P: l; X2 e5 q" O " Z7 h! R5 h1 \& R 打开cubeMX软件,进行时钟源和外设USART的设置,具体见下图: + `- N+ X1 I1 b4 A$ y # D% w9 S* I6 F 1、先设置引脚PD9和PD8为USART3_RX和USART3_TX% v# [: u1 s6 G 2、点击左侧的“System Core”,再点击左侧“RCC”0 q9 |2 n9 a+ k8 z+ a t, o! P 3、设置“High Speed Clock (HSE)”为“BYPASS Clock Source"- `! B9 e- i$ @; A# [ $ u9 E5 `5 i; A# s, p; a 点击”Clock Configuration“,照上图设置时钟源; 接下来设置USART3,激活PD8\PD9的串口功能;* ?) @) Y: y% r3 f- I$ T4 O 1 n, D" I+ y: D 1、点击”Pinout & Configuration“,再点击”Connectivity“% r4 H9 z5 ^# I. m+ ]3 B# w5 B 2、再选中“USART3" 3、设置”Mode“为”Asynchronous“使能USART3为异步通信3 [9 a: ~! }- O$ ^ 4、串口的收发波特率之类的参数保持默认即可 以上设置完成后,点击”Project Manager“设置工程代码生成的相关参数并保存工程为”USRAT3":+ {6 |0 x) z& `9 _# u, Q7 v: x 上面的保作完成后,即可点击“GENERATE CODE"生成工程代码,并选择打开工程;2 x6 j: ] W5 H8 h+ t+ R. m4 E 4 D4 [* C) R% S7 U 在MDK中打开工程后,双击打开”main.c"文件,添加自动发送16进制数据的代码;2 q+ v E) n3 z# G 1 T0 h. \6 j: G1 \ 再设置板载ST-Link的下载参数如下:. O, L7 R5 b) X4 F* ] 0 d1 d, O# b, Y! _ 3 X& l" d2 E" C, S( A L7 @( H 编译成功并下载到板卡,打开串口调试助手,选择COM串口为ST-LINK的虚拟串口号,并打开串口,即可看到运行的效果:, J; r0 q: P! o" X# a 2 v) M3 s+ e. h$ i 串口自动发送从00-2E的16进制数据并循环,说明USART3设置成功;& W/ F# E1 K6 A: |( U : A& o* E" i) v5 o" w! v 接下来在上面的基础上修改代码为手工发送字符的代码并运行; 2 _- f( Y4 U! K8 \) s( x* a ( |' U0 I4 X6 u8 ~6 s 编译下载,打开串口调试助手,并打开ST-Link的虚拟串口,并在发送窗口输入"test",并发送,运行效果如下: 3 J1 ~' Q6 N* b2 [7 ^3 b 代码附件: + s( S: l: g0 A+ a) P |
【经验分享】STM32_H7_ADC
STM32H7R/S高性能MCU:安全性,大存储和优异图显赋能更多应用创新
Stm32H7XX GCC下分散加载实现
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
DIY-STM32H750核心板
[nucleo-H7A3ZI-Q]1-点亮一个皮皮灯
DIY-STM32H743核心板
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
1月10日有奖直播 | 基于STM32 的CODESYS智能自动化解决方案
STM32的CAN FD位定时设置注意事项