|
前面几篇把灯学习了一番,今天来学点其它的外设-USART串口;此篇应用板载的ST-LINK V3的MCO引脚提供给主控MCU的旁路时钟源及USART3来进行串口数据的收发学习;5 B9 S* @: |" ^6 l" N. P1 u* ? 从原理图上可以看出USART3的RX和TX默认在引脚PD8/PD9上面;旁路时钟源为ST-Link的MCO提供的8M时钟源.5 ~5 R1 q; L0 k0 Y 1 ^7 [5 R( \9 n: i; _/ G
打开cubeMX软件,进行时钟源和外设USART的设置,具体见下图:7 L$ c2 j% u! W* f- q5 {& x5 y % c8 l3 f) z% b( \/ d
1、先设置引脚PD9和PD8为USART3_RX和USART3_TX 2、点击左侧的“System Core”,再点击左侧“RCC” 3、设置“High Speed Clock (HSE)”为“BYPASS Clock Source" F1 g- x# ~2 F- m1 N0 o6 l* w
) _; c2 Y: V( v$ V3 p 点击”Clock Configuration“,照上图设置时钟源; . b1 c, L& f# t: h6 H; n' {1 ^6 P! b 接下来设置USART3,激活PD8\PD9的串口功能; ! l; G" O" Z0 x6 ?" a5 I - p; v7 r9 G; `4 t; `* K1 F/ G% N3 K% i
9 p0 w1 D) E3 x" h# D" G 1、点击”Pinout & Configuration“,再点击”Connectivity“! ]0 X: D% E+ [# m8 P( D 2、再选中“USART3"* p# D2 S o; f9 i7 C 3、设置”Mode“为”Asynchronous“使能USART3为异步通信) t* n# N2 e2 H0 J 4、串口的收发波特率之类的参数保持默认即可 以上设置完成后,点击”Project Manager“设置工程代码生成的相关参数并保存工程为”USRAT3":' S3 f9 e# l4 \1 r) N
上面的保作完成后,即可点击“GENERATE CODE"生成工程代码,并选择打开工程;
1 _1 Q( W7 f5 E# {7 { 在MDK中打开工程后,双击打开”main.c"文件,添加自动发送16进制数据的代码;( L, n/ w; |- G3 b; L 再设置板载ST-Link的下载参数如下:/ W. J7 P5 O# V3 U
; B% O' b3 m5 ^& g 编译成功并下载到板卡,打开串口调试助手,选择COM串口为ST-LINK的虚拟串口号,并打开串口,即可看到运行的效果:8 u3 R0 f* l, w- t! m
, V: v( W: d. T; z5 Z' Y 串口自动发送从00-2E的16进制数据并循环,说明USART3设置成功; ' e' m3 }8 W5 q! B% i( [" c 接下来在上面的基础上修改代码为手工发送字符的代码并运行;3 v; c( \* t: e: [
编译下载,打开串口调试助手,并打开ST-Link的虚拟串口,并在发送窗口输入"test",并发送,运行效果如下:* {+ w a$ G* b8 K4 L7 C
% _7 k9 S5 |9 P# H, v% ` 代码附件:, B: n% i; K4 G ) \0 q. Y y" ~0 i9 b
USART3.rar
(877.86 KB, 下载次数: 15)
|
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
【STM32H735G-DK测评】ADC3+TIMER1+DMA 采样模拟信号
【STM32H735DK测评】Ethernet+lwip DHCP获取IP地址
STM32H743基于CubeMx5.0配置手册
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
【福利三:逢7发帖赢大礼】调试nucleo-WBA65RI工程测试样板的一些心得
【福利三:逢7发帖赢大礼】lv_timer和BME680实现温度、湿度、气压数据读取
微信公众号
手机版