搜索
bottom↓
回复: 4

AVR128串口通讯总是发送不正确的数据

[复制链接]

出0入0汤圆

发表于 2014-2-17 15:07:06 | 显示全部楼层 |阅读模式
用的avr128的板子,通过串口1向电脑发送数据。
之前用别的板子测试了电脑串口,没有问题。
但是使用avr128的板子发送数据出了个问题,比如发送0X00,电脑会接收到0X80

//===============================================
//函数名称:uart1_init
//函数功能:串口 1 初始化
//函数参数:无
//返回数据:无
//===============================================
void uart1_init(void)
{
    SFIOR &= ~(1<<PUD);        //打开上拉电阻
    DDRD|=(1<<PD3);          //PD0为接收端口置为输入;PD1为发送端口置为输出
    PORTD = 0X08;              //USART的发送接收端口分别为PD0和PD1
    UCSR1A=0x00;
    UCSR1B = 0x00; //disable while setting baud rate
    UCSR1C=0x00;
    UCSR1C = (1 << UCSZ11)|(1 << UCSZ10);//8 DATA ,1 STOP, NO PARITY
    UBRR1H=((FOSC>>4)/BAUD-1)>>8;//(FOSC/16/BAUD-1)/256
    UBRR1L=((FOSC>>4)/BAUD-1)&255;//(FOSC/16/BAUD-1)%256
    // RXCIE=1;TXCIE=1;UDREIE=0;RXEN=1;TXEN=1
    UCSR1B = (1<<RXEN1)|(1<<TXEN1);
}
//===============================================
//===============================================
//函数名称:uart1_send
//函数功能:向串口 1 发送一个字节数据
//函数参数:char i 待发送的数据
//返回数据:无
//===============================================
void uart1_send( char i)
{
    while(!(UCSR1A&(1<<UDRE1)));//只有数据寄存器为空时才能发送数据
    UDR1=0x00;
}
//===============================================


主函数中
while(1)
    {
        
        if(GetKeyVal()==1)
        {
          Disp1Char(5,0,'A'+keyVal);
          uart1_send('A'+keyVal-0x80);
        }
         

    }

每次电脑串口接收都会受到0x80

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2014-2-17 15:08:59 | 显示全部楼层
UDR1=0x00;

这句话应该是一定是发送的0x00,可是每次都收到的0x80

出0入0汤圆

发表于 2014-2-17 15:42:14 | 显示全部楼层
波特率是否正确?

出0入0汤圆

 楼主| 发表于 2014-2-17 16:25:21 | 显示全部楼层
usingavr 发表于 2014-2-17 15:42
波特率是否正确?

波特率应该没问题,都是9600,现在怀疑可能是串口硬件的问题
把另一个板子上可以正常使用的程序放到这个板子上出现同样的现象。。。发送的数据和写入发送寄存器的数据不一样

出0入0汤圆

发表于 2014-2-17 17:02:18 | 显示全部楼层
检查CKDIV8,CKDIV8=1, 不进行8分频
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 17:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表