stm8通讯 uart

[复制链接]
2008|4
 楼主| dingsujie 发表于 2013-10-21 14:56 | 显示全部楼层 |阅读模式
各位帮忙看下,以下这个程序为什么会停留在while (UART1_GetFlagStatus(UART1_FLAG_RXNE) == RESET);不执行呢?
void  Uart1_RS485_Receivebyte(void)
{     uchar i=0,j=0;   
       while (UART1_GetFlagStatus(UART1_FLAG_RXNE) == RESET);
         {        for(j=0;j<5;j++)
             {RX_Disbuff[j]=0x00;}
             RX_Disbuff[i]=UART1_ReceiveData8();}
       }
hkcj 发表于 2013-10-21 18:49 | 显示全部楼层
不是很熟悉这一块   楼主   帮你顶一个   看看有没有高手作答   看看先
杨爱林林 发表于 2013-10-21 20:36 | 显示全部楼层
改成这样
while(UART1_GetFlagStatus(UART1_FLAG_RXNE) != RESET)
{      
  for(j=0;j<5;j++)
  {
    RX_Disbuff[j]=0x00;}
    RX_Disbuff[i]=UART1_ReceiveData8();
   }
  }
hithms 发表于 2013-10-21 20:41 | 显示全部楼层
while (UART1_GetFlagStatus(UART1_FLAG_RXNE) == RESET);
把这一句后的冒号去掉,有冒号不死循环才怪。
 楼主| dingsujie 发表于 2013-10-24 08:12 | 显示全部楼层
hithms 发表于 2013-10-21 20:41
while (UART1_GetFlagStatus(UART1_FLAG_RXNE) == RESET);
把这一句后的冒号去掉,有冒号不死循环才怪。 ...

去掉后也没用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

523

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部