轮询&中断 串口实训

1.轮询

1.1固定长度的数据收发

任务详情:从PC上发送5个字符到Nucleo开发板,Nucleo开发板收到后将字符原样发回到PC

1.1.1工程建立

(1)在cubemx选择f4板子(自带部分默认配置,简化操作)

(2)串口外设配置

配置 USART2 为异步模式,禁用硬件流控;通信参数设置为波特率 115200、8 位数据位、无奇偶校验、1 位停止位,使能接收和发送功能,采用 16 倍过采样。

1.1.2软件部分

(1)新建数组存储数据

(2)接收到5个字节后原路返回

1.1.3结果验证

(1)找到电脑中所对应的端口

(2)将电脑串口设置与单片机对应(下图为结果)

1.2实现串口重定向

任务详情:通过重定向fputc和fgetc函数,使用printf和scanf进行串口收发;接收 "open" 时点亮 LD2 绿灯,接收 "close" 时熄灭 LD2。

1.2.1工程建立

(1)在cubemx选择f4板子(省事,部分功能已经自动配置)

(2)串口配置

配置 USART2 为异步模式,禁用硬件流控;通信参数设置为波特率 115200、8 位数据位、无奇偶校验、1 位停止位,使能接收和发送功能,采用 16 倍过采样。

(3)LD灯配置

将 LD2 对应的 GPIO 引脚(PA5)配置为推挽输出模式,无上下拉电阻,初始电平设为低(灯灭)。

1.2.2软件部分

(1)选择 Use MicroLIB->正常使用printf

(2)两个库函数的编写

(3)串口重定向

(4)字符串储存数据

(5)输出提示符(由于使用了printf,要在串口初始化后,否则没有效果)

(6)主函数

1.2.3展示(切记字符串后面跟空格)

2.中断

2.1中断方式实现固定长度数据收发

任务详情:利用串口调试助手,从PC上发送10个字符到Nucleo开发板,Nucleo开发板收到后原样发回到PC(中断前后台方式)

2.1.1工程思路

采用前后台编程模式

(1)前台程序为中断服务程序,一旦数据接收完成,则设置一个标志位为1;

(2)后台程序为while(1)的死循环,在循环中不断检测标志位是否为1。如果为1表明数据接收完成,并存放在接收缓冲区中。

(3)然后进行后续处理:先清除标志位,再把接收的数据原样发回。

2.1.2工程建立

(1)在cubemx选择f4板子(省事,部分功能已经自动配置)

(2)串口配置

配置 USART2 为异步模式,禁用硬件流控;通信参数设置为波特率 115200、8 位数据位、无奇偶校验、1 位停止位,使能接收和发送功能,采用 16 倍过采样。使能接收和发送,打开串口使能中断

2.1.3软件部分

(1)选择 Use MicroLIB->正常使用printf

(2)两个库函数的编写

(3)串口重定向

(4)缓存区以及标志位设定

(5)输出提示符(由于使用了printf,要在串口初始化后,否则没有效果)

(6)后台中断函数编写

(7)主函数设置

总结

详细实现了 STM32 轮询和中断模式的串口通信,轮询模式适合简单场景,代码直观;中断模式能减少 CPU 占用,提升系统实时性。后续可扩展 DMA 模式(无需 CPU 参与数据传输,效率最高),适用于大数据量收发场景。

相关推荐
lingzhilab4 小时前
零知IDE——基于STM32F103RBT6与RFID-RC522的校园餐卡系统实现
stm32·单片机·嵌入式硬件
promising-w4 小时前
【stm32入门教程】GPIO输入之按键控制LED&光敏传感器控制蜂鸣器
stm32·单片机·嵌入式硬件
必胜的思想钢印5 小时前
修改主频&睡眠模式&停机模式&待机模式
笔记·stm32·单片机·嵌入式硬件·学习
飞睿科技6 小时前
【IoT开发选型】乐鑫ESP32-S3核心优势解析:为何它是AIoT应用的“全能王”?
科技·嵌入式硬件·物联网·智能家居
文亭湖畔程序猿8 小时前
开天斧 STC8H8K64U低功耗demo
单片机·嵌入式硬件
ACP广源盛1392462567310 小时前
GSV5100A@ACP#2 进 2 出 HDMI2.0 中继器 / CAT 延长器,带有音频提取和插入功能
单片机·嵌入式硬件·音视频
d111111111d11 小时前
W25Q60简介--SPI通信(笔记)
笔记·stm32·单片机·嵌入式硬件·学习
Hai小易12 小时前
【STM32单片机】智能家居语音控制系统
stm32·单片机·智能家居·嵌入式软件开发·stm32项目设计·智能家居语音控制系统·c语言编程项目
国科安芯15 小时前
模拟DCDC电源芯片ASP3605S引脚功能及控制环路分析
单片机·嵌入式硬件
ACP广源盛1392462567317 小时前
GSV5100B@ACP#一种具有音频提取和插入功能的 2 进 2 出 HDMI2.0 中继器 / CAT 延长器
单片机·嵌入式硬件·音视频