中级会员
 
- 积分
- 234
- 金钱
- 234
- 注册时间
- 2017-7-15
- 在线时间
- 16 小时
|
1金钱
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)又代表什么意思??
|
最佳答案
查看完整内容[请看2#楼]
USART_RX_STA是原子哥实验里自己定义的一个u16宏定义,具体每个位表示什么意思,可以去看实验,里面信息介绍了,if((USART_RX_STA&0x8000)==0)表示接受完成,去看看开发指南吧或者程序,里面讲得很清楚
|