返回信息流一个简单的初始化都可以给我跑飞了,关键是这个函数还是从别的好使的成熟里拷贝过来的。郁闷死了。
使用的是ICC AVR+AVR STUDIO
#include<iom128v.h>
#include<macros.h>
#include"D:\ICC_H\CmmICC.H"
void uart_init(void)
{
UCSR0B=0x00;//禁止发送和接收
UCSR0A=0x00;//设置USART为异步正常发送模式
UBRR0H=0;//设置波特率为9600bps
UBRR0L=47;
UCSR0C=(1<<UCSZ00)|(1<<UCSZ01);//0x06,8位数据位,1位停止位,无校验
UCSR0B=(1<<RXEN0)|(1<<TXEN0);//发送和接收使能,启动USART的发送器和接收器
}
void main(void)
{
unsigned char temp;
DDRE=0x00;
PORTE=0x00;
uart_init();
while(1);
//SEI();
}
这是一条镜像帖。来源:北邮人论坛 / circuit / #16926同步于 2011/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖
请加一个单片机UART口的问题
wugui
2011/4/20镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
【 在 king007 的大作中提到: 】
: 对AVR单片机不了解,但是你貌似没有编写中断处理函数啊~不然串口接收了数据也没法回传啊。。。
: --
这个不是使用中断,是轮询的。贴上来的时候没贴那个函数免得太长了
【 在 wugui 的大作中提到: 】
: : 对AVR单片机不了解,但是你貌似没有编写中断处理函数啊~不然串口接收了数据也没法回传啊。。。
: : --
: 这个不是使用中断,是轮询的。贴上来的时候没贴那个函数免得太长了
: ...................
硬件部分正确么.....串口线是不是好的?有没有正确连接RXD和TXD...应该是232的RXD对单片机的TXD吧....还有就是芯片是不是好的?串口芯片和单片机都正常工作么?实在不行让单片机持续发送同样的内容然后用逻辑分析仪或者数字示波器看一下不同位置的波形,然后再让电脑循环发送再看看波形是否正常.....
硬件部分没有正确连接....代码再棒也没用吧.....
如果硬件没问题....我就只能祝好运了....