STM32—USART 串口通讯

目录

[1 、 电路构成及原理图](#1 、 电路构成及原理图)

[2 、编写实现代码](#2 、编写实现代码)

main.c

usart.c

3、代码讲解

4、烧录到开发板调试、验证代码

5、检验效果

STM32F103RCT6开发板------全集成开发板,让开发更简单!


此笔记基于朗峰 STM32F103 系列全集成开发板的记录。

1 、 电路构成及原理图

STM32F103RCT6 上共有 5 个串行通讯接口:USART1~USART 3 个通用同步/异步收-发器,UART4~UART5 2 个通用异步收-发器。

串口通讯遵从串口通讯协议,在串口通讯的协议中,规定了数据包是由:启始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式需要完全一致才能正常收发数据。

2 、编写实现代码

main.c

usart.c

3、代码讲解

usart.c

首先定义了易变变量 RXC 用于判断中断接收是否完成。因中断接收函数 USART1_IRQHandler()添加在外设中断函数集中存放的

stm32f1xx_it.c 函数里且因中断情况随时会修改 RXC 的值,所以这里将 RXC 定义为易变的整型变量 volatile uint8_t RXC。RX_LEN 是接收

到的字节长度的全局变量(因需要在 USART1_IRQHandler()中赋值)

定义了用于保存串口 1 接收到的数据的数组 UART1_RX_BUFF、

用于保存发送到串口 1 的数据的数组 UART1_TX_BUFF,两个数组大

小都是 100 个字节,可根据自己需要修改大小。

串口的初始化我们将串口配置初始化和串口底层 I/O 引脚初始

化同时都写在 uart1_init()函数里,这样就省却了写

HAL_UART_MspInit()函数。

4、烧录到开发板调试、验证代码

下载完成后拔下 SWD 插针上的 ST-LINK 下载器,使用两条杜邦线将朗峰 F1 开发板板载 IO 端口的 PA9(TX)、PA10(RX)连接到 USB 串口调试器的 RXD 端、TXD 端。

5、检验效果

如果接收到点亮 LED 灯的指令就点亮指定的 LED。

接收到 LED1_ON 就点亮 LED1

接收到 LED1_OFF 就熄灭 LED1

接收到 LED2_ON 就点亮 LED2

接收到 LED2_OFF 就熄灭 LED2


STM32F103RCT6开发板------全集成开发板,让开发更简单!

【全集成设计】 STM32F103RCT6开发板,采用全集成设计,集成了多种传感器和接口,让你的原型设计和开发工作更加高效。

【资料全】 我们提供详尽的开发文档、示例代码和教程,无论你是初学者还是资深开发者,都能快速上手,轻松开发。

【功能强大】 这款开发板搭载了高性能的STM32F103RCT6微控制器,具备丰富的外设和接口,满足你的各种开发需求。

【接口丰富】 USB、串口、I2C、SPI等多种接口一应俱全,支持各种外设扩展,让你的创意无限延伸。

【开发便捷】 无论是嵌入式系统开发、物联网项目还是智能家居控制,STM32F103RCT6开发板都能成为你的强大助手。

相关推荐
总结所学4 小时前
labview官网离线下载
嵌入式硬件
zcmodeltech4 小时前
智能矿井沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的感知-传输-控制一体化方案
服务器·数据库·分布式·stm32·单片机·嵌入式硬件
szxinmai主板定制专家5 小时前
驱控一体新范式:RK3576+FPGA+CODESYS工业实时AI控制架构全解
人工智能·嵌入式硬件·计算机视觉·fpga开发·架构·工业ai·驱控一体
国科安芯6 小时前
ASC0101S自动双向电平转换原理深剖
单片机·嵌入式硬件·fpga开发·云计算·信息与通信
李永奉6 小时前
中科蓝讯SDK开发-开启串口Debug打印调试教程
单片机·嵌入式硬件·mcu·物联网·电脑
LCG元6 小时前
STM32硬件SPI驱动OLED SSD1306显示屏全流程实战:从CubeMX配置到中英文显示
stm32·单片机·嵌入式硬件
sukalot7 小时前
windows网络适配器驱动开发-双 STA 连接(下)
windows·驱动开发·stm32
飞凌嵌入式7 小时前
性能翻倍·功耗减半!RK3572八核核心板,重构嵌入式计算新标杆
人工智能·嵌入式硬件·飞凌嵌入式
zcmodeltech7 小时前
智慧农业沙盘模型物联网控制系统设计:基于STM32与Modbus RTU的传感器-执行器闭环方案
服务器·分布式·stm32·嵌入式硬件·物联网·能源
WD1372980155718 小时前
WD5030L,超高集成度、大电流输出、高效率低发热,限流24V转12V,6A
stm32·单片机·嵌入式硬件·51单片机