shacha1234 发表于 2013-5-19 19:42:44

avr 485串口无法接收数据


代码如下:
unsigned char USART_DataRCV(unsigned char *s)
{   
   int i=0;
   while (!(UCSR0A & (1<<RXC0)));   /*等待接受数据*/

   while(*s)
    {
      s=UDR0;
      if(s == '\0' || s == NULL)
            break;
      delay_us(500);
      i++;
    }
    Receiveflag = 1;//置标志位

   return Receiveflag;
}

/*函数的功能是:每次PC向单片机发送3个十六进制数,当串口接收到数据后放入Data,单片机就将收到的数据返给PC端*/
void myReceive()   
{
   if(USART_DataRCV(Data))   //已经定义了全局变量unsigned charData;
    {
         Receiveflag = 0;
         usartsend(Data,strlen(Data));
          delay_ms(500);
      }
}

编译没有问题。但是现在PC端接收不到数据。用的是ICCAVR编译器。如果是单片机预定义向PC端发送数据是可以的,但是就是接收以后发送不行。
实在是玩不转它了。跪求高手或者不高手帮忙解决一下。
页: [1]
查看完整版本: avr 485串口无法接收数据