21ic电子技术开发论坛

标题: avr 串口发送问题 [打印本页]

作者: jrh200310    时间: 2011-5-19 16:10
标题: avr 串口发送问题
AVR串口通信问题,用STC的下载软件带的串口助接收数据总是出错。不知道为什么,希望大侠们帮帮忙

void star_com()//初始化串口
{
//  UBRRH=(F_CPU/BAUD/16-1)/256;
//  UBRRL=(F_CPU/BAUD/16-1)%256;
   UBRR=207;
   UCSRB|=BIT(3);//
   UCSRB|=BIT(4);   
}

[attach]62917[/attach]


void send_onedata(unsigned char a)
{
  while(!(UCSRA&BIT(5)))
   {;}
   UDR=a;
}

void main()
{
star_com();
  while(1)
  {
   send_onedata(0X00);   
   delay(2000);
   send_onedata(0X02);
   delay(2000);
   send_onedata(0X03);
   delay(2000);
   send_onedata(0X11);
   delay(2000);
   send_onedata(0X22);
   delay(2000);
   send_onedata(0X33);
   delay(2000);
   send_onedata(0X44);
   delay(2000);
   send_onedata(0X55);
   delay(2000);
   send_onedata(0X66);
   delay(2000);
   send_onedata(0X77);
   delay(2000);
   send_onedata(0X88);
   delay(2000);
   send_onedata(0X99);
   delay(2000);
   send_onedata(0Xaa);
   delay(2000);
  }

}

[attach]62918[/attach]
作者: jrh200310    时间: 2011-5-19 16:12
在线等。。。。。。
作者: jrh200310    时间: 2011-5-19 16:18
补上一张图片[attach]62919[/attach]
作者: 枫叶求缘    时间: 2011-5-19 16:41
关注中。。。
作者: huangqi412    时间: 2011-5-19 16:43
先找别人程序对比看看。。。
作者: jrh200310    时间: 2011-5-19 16:55
这次设计是要和STC单片机信。STC单片机已经和电脑完成通信。没有错误。收发正常。换AVR与电脑通信,结果就是不正常,理论上讲波特率应该也没有错,但数据确实会出错。我一直想,如果AVR连电脑通信都不成功,那跟STC通信就会出错。刚刚把STC的模块与AVR模块通信,数据竟然是正确的。这下无语了。可能是STC下载板的的问题吧,我这想,不过STC的模块和电脑通信又很正常。这里想到IO口的问题,或许是AVR的IO口和STC下载板上的SP232接口不匹配吧,不知道有谁出现过这样的问题,大家交流下!
作者: myship04    时间: 2011-5-19 16:58
恭喜楼主发现了问题,呵呵
作者: jrh200310    时间: 2011-5-19 17:36
AVR打开串口功耗是有点大
作者: jrh200310    时间: 2011-5-19 17:38
我用的是ATMAGE8的片子
作者: chenczy    时间: 2011-5-19 17:42
好像我用的MAGE32做422通信,没发现有什么错的
作者: 枫叶求缘    时间: 2011-5-21 08:17
楼主大哥,解决上面的问题了吗?




欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/) Powered by Discuz! X3.5