打印

stm8通讯 uart

[复制链接]
1671|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);
把这一句后的冒号去掉,有冒号不死循环才怪。

使用特权

评论回复
5
dingsujie|  楼主 | 2013-10-24 08:12 | 只看该作者
hithms 发表于 2013-10-21 20:41
while (UART1_GetFlagStatus(UART1_FLAG_RXNE) == RESET);
把这一句后的冒号去掉,有冒号不死循环才怪。 ...

去掉后也没用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

523

帖子

4

粉丝