He configurado 2 módulos xbee serie 1 para que uno reciba datos en serie de cualquier otro módulo de la misma ID de bandeja y el otro envíe datos al mencionado anteriormente.
Ahora cuando uso un software de terminal (XCTU) para verificar la transmisión de datos está bien. Quiero enviar datos en serie usando un ATMEGA 168 usando xbee como transmisor. Y otro xbee recibirá los datos y los enviará a una plataforma basada en ATMEGA 2560. No tengo ninguna plataforma para atmega 168, así que construí un quemador (circuito del gestor de arranque). El gestor de arranque funciona. He conectado el pin 3 (TXD de USART0) del atmega 168 con datos en (pin 3) del módulo xbee. También he hecho las conexiones de alimentación necesarias (Vcc = 3.3V & GND). Pero el xbee no parece enviar nada. Hay algo que este olvidando ? Por favor, ayúdenos, ya que ya se han dado cuenta de que soy un novato completo.
PD: antes de reducir mi reputación, hazme saber qué estoy haciendo mal para que pueda rectificar eso.
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
void uart0_init(void)
{
UCSR0B = 0x00; //disable while setting baud rate
UCSR0A = 0x00;
UCSR0C = 0x06;
UBRR0L = 0x5F; //set baud rate lo
UBRR0H = 0x00; //set baud rate hi
UCSR0B = 0x98;
}
void init_devices()
{
cli();
uart0_init();
sei();
}
int main(void)
{
unsigned char data;
init_devices();
data =1;
while(1)
{
data =0x21;
UDR0 = data;
_delay_ms(2000);
data =0x55;
UDR0 = data;
_delay_ms(2000);
}
}
}
Este es el código que usé.