[AVR单片机] AVR单片机串口接收数据问题

[复制链接]
1076|0
 楼主| zxzy2010 发表于 2015-5-11 22:38 | 显示全部楼层 |阅读模式
AVR单片机发送数据,通过usb-232数据线连接电脑,用串口助手接收到的数据是乱码,求大神解答,代码如下:
void Part_Init()
{
        PORTD = 0xff;                //全设置高电平
        DDRD = 0x02;                //PD1为TXD设置为输出,PD0为RXD设置为输入
}


void Usart_Init()
{
        UCSRA=0x00;                                                                        //串口控制器A清零
        UCSRB=0x00;                                                                        //串口控制器B清零
        UCSRC|=(1<<URSEL)|(1<<UCSZ1)|(1<<UPM1)|(1<<UCSZ0);  //选择USCRC,异步操作,偶检验,1个停止位,八位数据
        //UCSRC|=BIT(URSEL)|BIT(UCSZ1)|BIT(UCSZ0);        //选择USCRC,异步操作,禁止检验危,1个停止位,八位数据
       
        UBRRH = 0x00;
        UBRRL = 0x2F;
        //UBRR=47;        //从手册中直接取得赋值,9600kbps
       
        UCSRB|=(1<<TXEN)|(1<<RXEN)|(1<<RXCIE);        //发送使能,接收使能,接收完毕中断使能
        SREG|=0x80;                //全局中断使能
}

void Usart_SendChar(unsigned char ucSendData)
{
        while (!(UCSRA & (1<<UDRE)));                //数据寄存器UDR是否为空?
        UDR = ucSendData;                                        //UDR赋值
        while(!(UCSRA&((1<<TXC))));                        //数据是否已经发送完毕?
        UCSRA|=(1<<TXC);                                        //清除发送完毕标志位
}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部