打印
[AVR单片机]

跪求AVR169P USART C程序!!!

[复制链接]
1403|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
眺望123|  楼主 | 2014-3-11 23:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AVR169PA的芯片发送0XAA,电脑串口读出的数据是15,怎么两个数据不一样,波特率是9600  8 N 1 ,但双方的数据都不一样!!  跪求AVR169P USART C程序验证我的硬件是不是有问题!!

相关下载

相关帖子

沙发
airwill| | 2014-3-13 18:52 | 只看该作者
猜测是波特率不匹配问题, 最好找个示波器/逻辑分析仪采集一下波形分析

使用特权

评论回复
板凳
qin552011373| | 2014-3-13 19:32 | 只看该作者
熔丝位怎么配置的?

使用特权

评论回复
地板
liuyanluricher| | 2014-3-17 15:55 | 只看该作者
拿示波器 看看波形吧。

使用特权

评论回复
5
伏尔加的鱼| | 2014-3-18 11:27 | 只看该作者
/*
* USART.h
*
* Created: 2014/3/11 0:03:01
*  Author: 000
*/


#ifndef USART_H_
#define USART_H_

#include <avr/io.h>
#include <stdio.h>

//#define Baud_9600 51//8MHz
#define Baud_9600 77//12MHz
void USART_Init( uint16_t Baud );


#endif /* USART_H_ */




/*
* USART.c
*
* Created: 2014/3/11 0:02:46
*  Author: 000
*/
#include "USART.h"

/**********************************************************
*函数名:USART_Init
*参  数:Baud,波特率
*时  间:2014-03-03
*修  改:
*说  明:USART初始化
**********************************************************/
void USART_Init( uint16_t Baud )
{
        /*设置波特率*/
       
        UBRRH = (uint8_t)(Baud>>8);
        UBRRL = (uint8_t)Baud;
       
        /*数据结构设置*/
        UCSRB &= ~_BV(UCSZ2);
        UCSRC |= _BV(URSEL)|_BV(UCSZ0)|_BV(UCSZ1);//字符长度8bit
        UCSRC &=~_BV(USBS);//停止位1bit
       
        /*使能USART发送功能*/
        UCSRB |= _BV(TXEN);
}

使用特权

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

本版积分规则

7

主题

18

帖子

1

粉丝