Atmega328P FTDI 5V USB Comunicación en serie

0

Estoy trabajando con un cable USB Atmega328P y FTDI 5V para obtener una comunicación en serie entre el microcontrolador y la PC. Estoy usando Tera Term para recibir del microcontrolador.

Estoy usando un cable USB FTDI 5V con 6 pines.

Tengo las siguientes conexiones como

  • FTDI ------- > ATmega328P
  • VCC -------- > Potencia
  • GND ------- > Ground
  • RX --------- > Pin3

Estoy usando el siguiente código:

int main(void)
{

    UBRR0H = (BRC >> 8);
    UBRR0L = BRC;

    UCSR0B = (1 << TXEN0);
    UCSR0C = (1 << UCSZ01) | (1 << UCSZ00);

    while(1)
    {
        UDR0 = '8';
        _delay_ms(1000);

    }
}

Pero no estoy recuperando ningún valor en mi pantalla de Tera Term. He hecho la configuración apropiada con mi Tera Term para la serie.
Estoy un poco atascado con esto por algún tiempo ahora. Por favor, ¿puede alguien decirme si estoy haciendo algo mal?

    
pregunta Curly

1 respuesta

2

Probablemente necesite involucrar un osciloscopio para poder ver los niveles de señal y si aparecen señales seriales reales.

Sepa que el error número uno cometido al conectar puertos serie como este es hacer que las señales Tx y Rx se crucen. El cable FTDI se etiquetará con Tx como su pin de señal de salida en el pin 4 (cable naranja) y su Rx como su señal de entrada en el pin 5 (cable amarillo).

Debe conectar el pin Tx del cable FTDI al pin Rx en el AVR. Del mismo modo, debe conectar el pin Tx del cable FTDI al pin Tx en el AVR.

El gran error que se comete a menudo es que las personas conectan las dos señales de Tx entre sí y las dos señales de Rx.

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas