|
前面几篇把灯学习了一番,今天来学点其它的外设-USART串口;此篇应用板载的ST-LINK V3的MCO引脚提供给主控MCU的旁路时钟源及USART3来进行串口数据的收发学习;+ D: ^ D& Q4 U7 [0 I, O & z+ _8 y8 j4 k, ^ 从原理图上可以看出USART3的RX和TX默认在引脚PD8/PD9上面;旁路时钟源为ST-Link的MCO提供的8M时钟源.0 Q9 a8 a4 W w 7 S6 E. z# l u; |. M
1 G, l- x7 b' V% ?3 m5 f
! |9 H* O6 f( R7 m 打开cubeMX软件,进行时钟源和外设USART的设置,具体见下图:
# a4 y2 ?" N5 J6 t7 j7 Y 1、先设置引脚PD9和PD8为USART3_RX和USART3_TX/ b( G, z/ ]/ A1 h" e 2、点击左侧的“System Core”,再点击左侧“RCC” 3、设置“High Speed Clock (HSE)”为“BYPASS Clock Source"; A) k6 t# ~$ c% r* d" r 4 s5 h* ]" |6 m- [
点击”Clock Configuration“,照上图设置时钟源;# o; d! Y6 g- {2 y, Y" d 5 R3 \" e7 i% G2 i; l0 E# a 接下来设置USART3,激活PD8\PD9的串口功能;( x9 S5 S9 ?0 l) B7 l5 d' V4 F# Q. c 5 b7 n$ [/ e4 C( u 7 f3 n1 R9 n% w) @3 }+ {
1、点击”Pinout & Configuration“,再点击”Connectivity“* X& u6 O a+ w7 G 2、再选中“USART3" 3、设置”Mode“为”Asynchronous“使能USART3为异步通信0 J+ |1 H% ]# S: e. u 4、串口的收发波特率之类的参数保持默认即可& W) M5 x8 u3 f. g4 F& A $ g1 S1 G) I6 z1 i9 K 以上设置完成后,点击”Project Manager“设置工程代码生成的相关参数并保存工程为”USRAT3":
上面的保作完成后,即可点击“GENERATE CODE"生成工程代码,并选择打开工程; T- P" U, ]' c [5 c" q 9 }2 p6 |0 }0 Z' m( j/ @
4 L/ g& W5 o1 o) G* C 在MDK中打开工程后,双击打开”main.c"文件,添加自动发送16进制数据的代码; 再设置板载ST-Link的下载参数如下:4 d: t+ k/ g6 t7 \& j+ u w5 h- ]( X/ g& j" j+ p3 p
7 ~0 K- a$ |# p
" a- |/ q" C$ e7 e9 h 编译成功并下载到板卡,打开串口调试助手,选择COM串口为ST-LINK的虚拟串口号,并打开串口,即可看到运行的效果:
串口自动发送从00-2E的16进制数据并循环,说明USART3设置成功;, a: x8 k; j/ g& B0 _7 W0 n3 P4 a ! m; N4 M! ]" {2 n 接下来在上面的基础上修改代码为手工发送字符的代码并运行;
7 W# b# z+ A5 k 编译下载,打开串口调试助手,并打开ST-Link的虚拟串口,并在发送窗口输入"test",并发送,运行效果如下:
代码附件:) g& V. w8 R: u _* ]5 ^; ^3 m7 f
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实现温度、湿度、气压数据读取
微信公众号
手机版