你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32串口传输控制LED灯光变换实现经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-16 18:17
软件设计:
以下内容只涉及核心部分代码,变量的设定以及头文件的包含等略。
需要创建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的宏定义

2e9c001c50ba4dfc88792371ad44686e.png

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


2、USART的初始化配置

9542c038619a46998fc0a7a452ef2bbf.png

89e632e0700c436bbcb0de072ef9447c.png

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

528be8bc56664c8a8aba5b08421a8459.png

4、向电脑输出提示信息

7612a8bac3584003862bcaacb3fec884.png

SYSTICK程序编写

902bddc8824a488a89572cd839b79322.png

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


主函数

982297d04a474ae6a5681a6034fcd99d.png

不足之处:由于本人C语言基础不足,使用对于流水灯的实现只想到do while语句,故会选择流水灯模式后会陷入死循环,希望以后能对此进行改进。
————————————————
版权声明:谷爱林
如有侵权请联系删除


9a2ba4475daa4f8c9811348d98f8f2c8.png
收藏 评论0 发布时间:2023-4-16 18:17

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版