STM32正点原子 串口通信学习笔记

以下,只表示在数据正确接收的情况下。假设接收全部的数据为a,b,c  以0x0d  0x0a结尾

第一次进中断,第一个数据为a 。将会被存入USART_RX_BUF[0]中,之后由于USART_RX_STA++;自加。此时USART_RX_STA = 0000 0000 0000 0001

第二次进中断,第二个数据为b。将会被存入USART_RX_BUF[1]中,之后由于USART_RX_STA++;自加。此时USART_RX_STA = 0000 0000 0000 0010

第三次进中断,第三个数据为c。将会被存入USART_RX_BUF[2]中,之后由于USART_RX_STA++;自加。此时USART_RX_STA = 0000 0000 0000 0011

第四次进中断,第四个数据为0x0d。接着会进入这个地方

此时USART_RX_STA|=0x4000;  既USART_RX_STA = 0000 0000 0000 0011|0100 0000 0000 0000 = 0100 0000 0000 0011

第五次进中断,第五个数据为0x0a,接着会进入这个地方

此时USART_RX_STA&0x4000为 0100 0000 0000 0011 & 0100 0000 0000 0000 为1,接着判断接收到的数据是不是0x0a,如果是,则USART_RX_STA|=0x8000;既USART_RX_STA = 

0100 0000 0000 0011 | 1000 0000 0000 0000 =1100 0000 0000 0011 接收完成了,第15位表0x0a 第14位表0x0d  第0-13位表接收到的有效数据,为3位。接受完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值