串口通信小试牛刀~使用STM32CubeMX+ HAL库点亮流水灯

本文介绍了使用STM32CubeMX和Keil MDK,基于HAL库来点亮流水灯的过程。首先阐述了STM32串口通信的基础知识,包括UART和USART的区别,以及如何通过电平转换与PC进行通信。接着,详细讲解了通过STM32CubeMX配置系统,生成代码,并在Keil中进行项目设置、编写延时和管脚控制函数,最终生成.hex文件并烧录到芯片。实验结果显示,流水灯按照预期工作,验证了串口通信和控制的正确性。

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

STM32CubeMX与Keil MDK配合HAL库完成流水灯的点亮。


一、STM32串口通信基础

  • STM32的串口通信接口有两种,分别是:UART(通用异步收发器)USART(通用同步异步收发器)。而对于大容量STM32F10x系列芯片,分别有3个USART和2个UART。

  • UART引脚连接方法
    RXD:数据输入引脚,数据接受;
    TXD:数据发送引脚,数据发送。
    在这里插入图片描述
    若是芯片与PC机(或上位机)相连,除了共地之外,就不能这样直接交叉连接了。尽管PC机和芯片都有TXD和RXD引脚,但是通常PC机(或上位机)通常使用的都是RS232接口(通常为DB9封装),因此不能直接交叉连接。RS232接口是9针(或引脚),通常是TxD和RxD经过电平转换得到的。故,要想使得芯片与PC机的RS232接口直接通信,需要也将芯片的输入输出端口也电平转换成rs232类型,再交叉连接。

  • 经过电平转换后,芯片串口和rs232的电平标准是不一样的:

    单片机的电平标准(TTL电平):+5V表示1,0V表示0;
    Rs232的电平标准:+15/+13 V表示0,-15/-13表示1。

RS-232通讯协议标准串口的设备间通讯结构图如下:
在这里插入图片描述
所以单片机串口与PC串口通信就应该遵循下面的连接方式:在单片机串口与上位机给出的rs232口之间,通过电平转换电路(如下面图中的Max232芯片) 实现TTL电平与RS232电平之间的转换。


点亮流水灯步骤如下:

二、STM32CubeMX与keil基于HAL库点亮

STM32CubeMX是一个配置STM32代码的工具,它把很多东西封装的比较好,硬件抽象层、中间层、示例代码等。

1.安装jdk
由于STM32CubeMX是Java实现的,需要安装jdk环境。
jdk官网下载链接:
https://www.oracle.com/java/technologies/javase-downloads.html

2.安装STM32CubeMX
下载地址:
https://www.st.com/en/development-tools/stm32cubemx.html

3.安装过程:https://blog.youkuaiyun.com/as480133937/article/details/98885316

2.1 使用CubeMX生成相关代码

  • 打开STM32CubeMX软件

在这里插入图片描述

  • 选择芯片
    在这里插入图片描述
    在这里插入图片描述
  • 配置系统调试接口sys,选择serial wire
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值