圣龙扬特-AVR电子

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1035|回复: 2
打印 上一主题 下一主题

简单串口通信 MEG64

[复制链接]

2

主题

0

好友

16

积分

新手上路

Rank: 1

UID
302
帖子
4
精华
0
注册时间
2013-3-18
在线时间
1 小时
跳转到指定楼层
楼主
发表于 2013-3-18 14:36:30 |只看该作者 |倒序浏览
源代码如下
#include<iom64v.h>
#include<macros.h>
#define uchar8 unsigned char
#define uchar16 unsigned short
/*串口1初始化*/
void USART1_inital(void)
{
UCSR1B = 0x00;   //disable while setting baud rate
UCSR1A = 0x00;   //U2X = 0,不加倍数率
UBRR1L = 0x19; //set baud rate lo
UBRR1H = 0x00; //set baud rate hi波特率设定
UCSR1C = 0x06; //帧结构设定 8数据 无校验 1停止
UCSR1B = 0x98; //发送使能
//UCSR1A = 0X60;
}
void USART_Transmit(uchar8 data)
{
while(!(UCSR1A&(1<<UDRE1)));
UDR1=data;
}
void delay_ms(uchar16 data)
{
uchar16 i;
while(data--)
{
  for(i=1;i<50000;i++);
}
}
int main(void)
{
CLI();
USART1_inital();
DDRD|=0X08;
SEI();
while(1)
{
  USART_Transmit(0x66);
  delay_ms(10);
  
  }
}
但是我在电脑上收不到发送的0x66.4M晶振 9600波特率

回复

使用道具 举报

2

主题

0

好友

3175

积分

超级版主

Rank: 8Rank: 8

UID
6
帖子
32
精华
0
注册时间
2013-2-26
在线时间
18 小时
沙发
发表于 2013-3-18 14:52:51 |只看该作者
1)首先确认电脑串口调试助手有没有没收到数据
2)确认波特率是否一致
3)确认熔丝位配置是否正确
回复

使用道具 举报

2

主题

0

好友

16

积分

新手上路

Rank: 1

UID
302
帖子
4
精华
0
注册时间
2013-3-18
在线时间
1 小时
板凳
发表于 2013-3-18 15:02:55 |只看该作者
枯恋凡尘 发表于 2013-3-18 14:52
1)首先确认电脑串口调试助手有没有没收到数据
2)确认波特率是否一致
3)确认熔丝位配置是否正确

谢谢,问题解决了,是熔丝位搞错了。
回复

使用道具 举报

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

Archiver|手机版|圣龙扬特-AVR电子 ( 鲁ICP备05022832号 )

GMT+8, 2024-4-20 17:05 , Processed in 0.200498 second(s), 17 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部