关于STM32串口实验,数据怎么接收,接收的类型?

2019-07-20 12:41发布

        if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  
                {
                Res =USART_ReceiveData(USART1);       
               
                if((USART_RX_STA&0x8000)==0)
                        {
                        if(USART_RX_STA&0x4000)
                                {
                                if(Res!=0x0a)USART_RX_STA=0;
                                else USART_RX_STA|=0x8000;       
                                }
                        else //»1ûêÕμ½0X0D
                                {       
                                if(Res==0x0d)USART_RX_STA|=0x4000;
                                else
                                        {
                                        USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
                                        USART_RX_STA++;
                                        if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;          
                                        }                 
                                }
                        }                    
     }
如上所示:RES为接收串口1的数据,其数据类型是什么?
if((USART_RX_STA&0x8000)==0)该句代表什么意思?if(USART_RX_STA&0x4000)又代表什么意思??

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
1018988577
1楼-- · 2019-07-20 13:28
USART_RX_STA是原子哥实验里自己定义的一个u16宏定义,具体每个位表示什么意思,可以去看实验,里面信息介绍了,if((USART_RX_STA&0x8000)==0)表示接受完成,去看看开发指南吧或者程序,里面讲得很清楚
任浩杰
2楼-- · 2019-07-20 16:19
 精彩回答 2  元偷偷看……
聪明的杨大叔
3楼-- · 2019-07-20 19:38
任浩杰 发表于 2017-8-2 07:03
我看里面的介绍了,有的还是看不懂!!!

我也是啊,接触32单片机不久
风呼呼
4楼-- · 2019-07-21 00:53
聪明的杨大叔 发表于 2017-8-5 21:41
我也是啊,接触32单片机不久

都是这么过来的,慢慢看,莫着急

一周热门 更多>