文章目录[隐藏]
目录
extern u8 USART_RX_BUF[USART_REC_LEN]
中断配置
使能接收中断
中断服务函数
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
暂无评论