为什么都是0x**,位数怎么不一样(USART_RX_STA&0x8000) len=USART_RX_STA&0x3f;

2019-07-20 23:20发布

while(1)
{
if(USART_RX_STA&0x8000)
{ len=USART_RX_STA&0x3f; //得到此次接收到的数据长度
printf(" 您发送的消息为: ");
for(t=0;t<len;t++)
{ USART_SendData(USART1, USART_RX_BUF[t]); //向串口 1 发送数据
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
//等待发送结束
}
为什么位数是不一样的???  0x8000  换成 0x80   可以的吗?
如果可以  为什么要用0x8000
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。