在STM32上实现串口传输控制LED灯光变换

这篇博客介绍了在STM32平台上进行软件设计的基本步骤,包括使能GPIO和USART时钟,配置TX和RX引脚,初始化USART以实现收发功能,以及设置GPIO控制LED和SYSTICK滴答定时器。博主还提到通过宏定义提高代码移植性,并实现了printf和scanf的重定向。然而,流水灯模式的实现存在死循环问题,有待改进。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件设计:

以下内容只涉及核心部分代码,变量的设定以及头文件的包含等略。

需要创建bsp_usart.c、bsp_led.c、bsp_systick.c等文件。

编程主要步骤

一、使能RX和TX引脚GPIO时钟和USART时钟;

二、初始化GPIO函数;

注意点:

1、将TX的模式配置为GPIO_Mode_AF_PP(推挽复用,针对串口输出)

将RX的模式配置为GPIO_Mode_IN_FLOATING(浮空输入,针对键盘输入)

三、初始化USART函数;

注意点:

1、配置工作模式,收发一起

2、最后需要调用使能串口函数USART_Cmd();

四、初始化控制LED的GPIO口

五、初始化SYSTICK滴答定时器

注意点:要在stm32f10x_it.c里编写SysTick_Handler(void)

代码分析

1、GPIO和USART的宏定义

 通过使用宏定义,更方便程序的移植和升级。

2、USART的初始化配置

 

 

3、重定向printf和scanf函数(在不重定向的情况下无法使用)

 4、向电脑输出提示信息

 SYSTICK程序编写

 依次可设定流水灯的延迟闪烁效果

主函数

 

 

不足之处:由于本人C语言基础不足,使用对于流水灯的实现只想到do while语句,故会选择流水灯模式后会陷入死循环,希望以后能对此进行改进。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值