|
软件设计:: M, v6 n: I1 _9 q 以下内容只涉及核心部分代码,变量的设定以及头文件的包含等略。* p/ ?9 I$ i0 o Z$ ?) G0 K 需要创建bsp_usart.c、bsp_led.c、bsp_systick.c等文件。 编程主要步骤 一、使能RX和TX引脚GPIO时钟和USART时钟;" q) r( A# ]* h2 @9 M8 A 二、初始化GPIO函数;, u& B) d# |0 ^# t . ?6 l; `0 d( M* D1 v7 z! p 注意点:' A+ ?6 H" A, P 1、将TX的模式配置为GPIO_Mode_AF_PP(推挽复用,针对串口输出)+ X/ d. m' a' T g: ^% r% c # ~, P1 Q+ w& d$ D) e 将RX的模式配置为GPIO_Mode_IN_FLOATING(浮空输入,针对键盘输入)0 L; x5 `, ?" t6 N9 ] . a! Z, T: j1 ]9 X5 R! A+ j2 |1 ^% i 三、初始化USART函数; 注意点:9 b1 F% @9 X. l, |$ m! w 1、配置工作模式,收发一起& q( P' L6 O$ W% I! a 2、最后需要调用使能串口函数USART_Cmd();, n" K3 ~# Z: m9 h M( v( u K# k( {* c& r$ m 四、初始化控制LED的GPIO口 - {3 `- Q! S4 X' m" U2 ` 五、初始化SYSTICK滴答定时器 注意点:要在stm32f10x_it.c里编写SysTick_Handler(void)4 Z a U* T* c, G' Q 代码分析! A F/ j; N5 n {1 H 1、GPIO和USART的宏定义
通过使用宏定义,更方便程序的移植和升级。 1 ]6 t- p$ g/ M! ^ 2、USART的初始化配置8 W8 g6 R7 A. @
% f' d' c+ G- K& q1 @6 i, m1 Q( p 3、重定向printf和scanf函数(在不重定向的情况下无法使用)- U8 l x$ Z1 v! [8 k# M
2 \# i7 P. m) K$ R 4、向电脑输出提示信息9 ] Z! g: @$ D* i, _" y7 o
SYSTICK程序编写
依次可设定流水灯的延迟闪烁效果( P w" Y$ z/ p6 A+ u+ F2 ~7 A * Z% n3 g' {/ j3 | ; u' t1 d7 D/ o. ^6 \5 C5 m 主函数
不足之处:由于本人C语言基础不足,使用对于流水灯的实现只想到do while语句,故会选择流水灯模式后会陷入死循环,希望以后能对此进行改进。% p, g0 o# x. u4 o4 q. X/ M2 w ———————————————— G9 @- e8 b0 I8 B 版权声明:谷爱林 如有侵权请联系删除8 P" g: A5 ?( p5 m( u/ v7 s8 U / k9 `9 T4 A" { Y1 |5 M4 S% @0 L6 V |
STM32C542RC开发板的串口不定长数据接收实验
STM32C542RC开发板的串口DMA发送及接收实验
终于完成了STM32C542RC开发板的串口发送实验
STM32L562DK探索板——串口通讯的再测试
经验分享 | STM32 IAP应用时的跳转注意事项
实战经验 | 碰到hardfault问题你还在死磕代码吗?
【逢7发帖赢大礼】STM32开发之WIFI实时时钟
【逢7发帖赢大礼】STM32开发之指纹识别!
【逢7发帖赢大礼】STM32开发之环境空气质量监测
【逢7发帖赢大礼】STM32开发之人体实时运动信息监测!
微信公众号
手机版