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

2019-08-17 08:08发布

请问做串口试验时 if(USART_RX_STA&0X80)是什么意思? USART_RX_STA代表什么,把谁的值付给了USART_RX_STA?为什么在程序里找不到aa
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
32条回答
xyz1015231411
2019-08-17 08:40
本帖最后由 xyz1015231411 于 2017-2-26 15:44 编辑

我感觉这个问题点好多人都还没有弄清楚,我前思后想还是想不通,所以发图片求助,为什么用if((USART_RX_STA&0x8000)==0)来判断接收数据未完成。USART_RX_STA只是前面定义的一个全局变量,并且赋值为0,这个变量和串口中断中的一些寄存器位没有任何关系,并且这个USART_RX_STA全局变量在程序中又不会变化,永远是0,USART_RX_STA&0x8000的最后得到的值也就是始终为0X0000,这个数值又怎能判断接收数据完成?这里是不是应该用这个函数USART_GetITStatus(USART1, USART_IT_RXNE),这个函数才是接收数据中断完成标志。

一周热门 更多>