STM32的串口中断详解

目录

中断配置

中断服务函数

1. 中断服务函数名称查找

2. 中断服务函数 

​3. 可以选择的串口中断类型 

extern u8 USART_RX_BUF[USART_REC_LEN]

extern u16 USART_RX_STA


中断配置

使能接收中断


中断服务函数

1. 中断服务函数名称查找

2. 中断服务函数 

3. 可以选择的串口中断类型 

此处定义

其他文件中的声明


extern u8 USART_RX_BUF[USART_REC_LEN]

最大接收字节数


extern u16 USART_RX_STA

接收状态标记

extern u16 USART_RX_STA
bit15 bit14 bit13~0
接收完成标志 接收到0x0D标志 接收到的有效数据个数

0x0D是回车的ASCII码

0x0A是换行的ASCII码

若电脑发送了一串数据,则我们需要在电脑发送这串数据的最后加上0x0D

STM32分析接收到的数据,如果读到0x0D,则将bit14置1

STM32分析接收到的数据,如果读到0x0A,则将bit15置1

这里的0x0D和0x0A不会给bit13~0加1

外部函数只需要访问USART_RX_STA的bit15即可

若USART_RX_STA的bit15为1,则已经完成了一次接收了,而且我们知道,数据的长度是bit13~0

因此,我们只需要按照bit13~0到USART_RX_BUF中去读取即可

读取完成后,我们再把USART_RX_STA全部清0,以便下一次继续接收

使用电脑发送数据时,记得勾选发送新行,这样就会以0x0D和0x0A结尾

版权声明:本文为CSDN博主「CodeForCoffee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_24118527/article/details/122731674

生成海报
点赞 0

CodeForCoffee

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

V831基础-GPIO

想着外接传感器高点事情,GPIO不是必须的嘛doge 测试镜像:v831-m2dock-maixpy3-0.4.0-20220114.img 测试所用maixpy3版本:0.4.0 GPIO GPIO&

LCD Glass段码屏的驱动

01 什么是段码屏 段码液晶屏(段码屏)是非点阵类的液晶屏,主要是用来替代LED数码管的,比如温度计、计算器、钟表等等,显示的内容基本都是数字,也有些是符号。