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
bit15bit14bit13~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结尾

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值