下面这段代码是什么意思,谁能够解释一下。uart的代码
#if 1
#pragma import(__use_no_semihosting)
struct __FILE
{
int handle;
};
FILE __stdout;
_sys_exit(int x)
{
x = x;
}
int fputc(int ch, FILE *f)
{
while((USART1->SR&0X40)==0);
USART1->DR = (u8) ch;
return ch;
}
#endif
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;
printf(" Äú·¢ËíμÄÏûÏ¢Îa: ");
for(t=0;t<len;t++)
{
USART_SendData(USART1, USART_RX_BUF[t]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
}
printf(" ");
USART_RX_STA=0;
}
if(USART_RX_STA&0x8000) 这里0x8000 我不太理解
是把USART_RX_STA当作一个16位的寄存器来使用,这一句是判断接收到了0x0A数据,也就是换行符,标志接收数据完成。
一周热门 更多>