打印

avr 串口发送问题

[复制链接]
3568|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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);   
}




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);
  }

}

相关帖子

沙发
jrh200310|  楼主 | 2011-5-19 16:12 | 只看该作者
在线等。。。。。。

使用特权

评论回复
板凳
jrh200310|  楼主 | 2011-5-19 16:18 | 只看该作者
补上一张图片

使用特权

评论回复
地板
枫叶求缘| | 2011-5-19 16:41 | 只看该作者
关注中。。。

使用特权

评论回复
5
huangqi412| | 2011-5-19 16:43 | 只看该作者
先找别人程序对比看看。。。

使用特权

评论回复
6
jrh200310|  楼主 | 2011-5-19 16:55 | 只看该作者
这次设计是要和STC单片机信。STC单片机已经和电脑完成通信。没有错误。收发正常。换AVR与电脑通信,结果就是不正常,理论上讲波特率应该也没有错,但数据确实会出错。我一直想,如果AVR连电脑通信都不成功,那跟STC通信就会出错。刚刚把STC的模块与AVR模块通信,数据竟然是正确的。这下无语了。可能是STC下载板的的问题吧,我这想,不过STC的模块和电脑通信又很正常。这里想到IO口的问题,或许是AVR的IO口和STC下载板上的SP232接口不匹配吧,不知道有谁出现过这样的问题,大家交流下!

使用特权

评论回复
7
myship04| | 2011-5-19 16:58 | 只看该作者
恭喜楼主发现了问题,呵呵

使用特权

评论回复
8
jrh200310|  楼主 | 2011-5-19 17:36 | 只看该作者
AVR打开串口功耗是有点大

使用特权

评论回复
9
jrh200310|  楼主 | 2011-5-19 17:38 | 只看该作者
我用的是ATMAGE8的片子

使用特权

评论回复
10
chenczy| | 2011-5-19 17:42 | 只看该作者
好像我用的MAGE32做422通信,没发现有什么错的

使用特权

评论回复
11
枫叶求缘| | 2011-5-21 08:17 | 只看该作者
楼主大哥,解决上面的问题了吗?

使用特权

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

本版积分规则

25

主题

131

帖子

2

粉丝