请问做串口试验时 if(USART_RX_STA&0X80)是什么意思

2019-08-17 08:08发布

请问做串口试验时 if(USART_RX_STA&0X80)是什么意思? USART_RX_STA代表什么,把谁的值付给了USART_RX_STA?为什么在程序里找不到aa
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
32条回答
正点原子
1楼-- · 2019-08-19 15:29
说到底,只要写DR就可以.
无论是你的USART_SendData还是printf,最终都是通过写DR寄存器发送.
qwe123qwe123
2楼-- · 2019-08-19 20:41
回复【19楼】正点原子:
---------------------------------
回复【19楼】正点原子:
---------------------------------
USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据 
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束 

那这个是从哪里接收数据的的呢??
qwe123qwe123
3楼-- · 2019-08-19 22:01
我知道了,如果要调试助手那发数据就要用if(USART_RX_STA&0x8000)
04
    {                     
05
        len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
06
        printf(" 您发送的消息为: ");
07
        for(t=0;t<len;t++)
08
        {
09
            USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据
10
            while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
11
        }
12
        printf(" ");//插入换行
13
        USART_RX_STA=0;
这里面的USART_SendData函数和while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET)这个,>
hqgboy
4楼-- · 2019-08-20 02:45
 精彩回答 2  元偷偷看……
老刘
5楼-- · 2019-08-20 06:24
看了帖子,收获还不少,嘿嘿
hello_galaxy
6楼-- · 2019-08-20 07:38
回复【10楼】正点原子:
---------------------------------
原子哥这样设计的目的在于少用一个变量??

一周热门 更多>