各位大侠帮我看看,下面代码为什么接收不了数据

fukanjun 2012-08-02 03:52:36
#include<iom128v.h>
#include<macros.h>
#include<delay.h>
#define fosc 8000000
#define baud 4800
void uart0_init(void)
{

UCSR0B=0x00;
UCSR0A=0x00;
UCSR0C=(1<<UCSZ01)|(1<<UCSZ00);
UBRR0L=(fosc/16/(baud+1))%256;
UBRR0H=(fosc/16/(baud+1))/256;
UCSR0B=(1<<RXEN0)|(1<<TXEN0);

}

void putchar0(unsigned char c)
{
while(!(UCSR0A&(1<<UDRE0)));
UDR0=c;


}


unsigned char getchar0(void)
{
while(!(UCSR0A&(1<<RXC0)));
return UDR0;

}

void puts0(char *s)
{
static char i=0;
while(*s)
{
putchar0(*s);
s++;

}
putchar0(0x0a);
//putchar0(0x0d);

}

void main(void)
{

unsigned char i;
uart0_init();
while(1)
{

puts0("test ok");
delay_100us();
}



}
...全文
38 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
2974786048 2012-08-02
  • 打赏
  • 举报
回复
void main(void)
{

unsigned char i;
uart0_init();
while(1)
{

puts0("test ok");
delay_100us();
}



}


你这里只是发送,没有接收。。。

接收用什么方法呢?查询吗?中断吗?中断开了吗?

按上边的思路查找解决

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧