ATMEGA128串口问题

我写了一个简单的串口程序,主要功能是不断发送一个字母串口助手不断输出00以下是源程序求大神指点#include<iom128v.h>#include<macros.h>#... 我写了一个简单的串口程序,主要功能是不断发送一个字母 串口助手不断输出00 以下是源程序 求大神指点#include <iom128v.h>#include <macros.h>#define uchar unsigned char#define uint unsigned int//串口0初始化void uart_init0(int baud_rate,long int fosc) { UCSR0A=0x00; //控制寄存器A清零 不倍速 UCSR0B=0x00; //控制寄存器B清零 UCSR0B|=(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);//允许发送和接收,并允许接收中断 UCSR0C = (1 << UCSZ01) | (1 << UCSZ00); /*8位数据、1 位停止、异步、无校验*/ UBRR0H = (fosc/16/(baud_rate+1))/256; UBRR0L = (fosc/16/(baud_rate+1))%256; /*波特率9600 */}//串口0发送一个数据void uart_transmit0(unsigned char i) { while (!(UCSR0A & (1<<UDRE0))); /* 等待发送缓冲器为空 */ UDR0 = i; /* 发送数据 */}void delay_s(void){ uint i,j; for(i=0;i<1000;i++) { for(j=0;j<255;j++) ; }}void main(){ DDRE|=(1<<PE1); //TX1引脚定义输出 uart_init0(9600,16000000); //设置波特率9600 晶振16MHz SEI(); /*全局中断允许 */ while(1) { delay_s(); uart_transmit0('a'); delay_s(); }} 展开
 我来答
匿名用户
2015-01-28
展开全部

通信参数配置不对吧?

另外可以更换串口助手,互相印证一下,排除上位机问题,类似格西烽火、SSCOM等,备用几个。


追问
谢谢你,热心的网友方便留个QQ么?我的Q:531469056 追问的字数有要求无法上传代码!
查晓筠0i5
2015-01-27 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4964万
展开全部
关注这个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式