taoxingtao 发表于 2007-5-18 14:07:29

马老师,你好,请教

我用两个atmega16相通信,只接用线连 txd(0)----rxd(1),rxd(0)----txd(1).用查询方式通信,调试不出来,请问这样连接有问题吗?

zjybest 发表于 2007-5-18 14:47:21

公地

taoxingtao 发表于 2007-5-18 15:20:15

我共地了。

taoxingtao 发表于 2007-5-18 15:22:29

void usart_init(void)

{



UCSRB = 0x00;

UCSRA = 0x00;

UCSRC = (1<<URSEL) | (3<<UCSZ0);

UBRRL = 0x06;

UBRRH = 0x00;

UCSRB = 0x18;

   

}



void usart_tr (unsigned char ddr_tr)                  

{   

   while (!(UCSRA&(1 << UDRE)));               

   UDR = ddr_tr;                                    

}

unsigned char usart_re(void)

{

   while(!(UCSRA&(1<<RXC)));



   return UDR;

   }

这是我的程序,帮我看看

taoxingtao 发表于 2007-5-18 17:18:29

弄好了,一条程序害的。

我用来做判断的rxc写不格式不对

我用if(rxc)来做的判断,这样做,编译不会出错,但是意义差大了。

改为if ((UCSRA&0x80)==0)后就好了。
页: [1]
查看完整版本: 马老师,你好,请教