Aclaración sobre el uso de software serie con AVR

0

Arduino parece poder usar el software en serie en los pines que elijas. Estoy intentando probar el mismo escenario en un atMega128, sin embargo, todos los ejemplos y notas que encuentro requieren el uso del pin RX en External Interrupt 0, que es PIND0. He implementado TX con éxito en cualquier pin que elijo. Mi pregunta es muy específica. ¿Se puede implementar un pin RX para el software serie en cualquier pin GPIO que elijo? Si es así, ¿hay un ejemplo de cómo probar esto? No he podido hacer funcionar el RX en mi entorno. Gracias

    
pregunta Eddie

2 respuestas

1

AVR305 explica cómo implementar una UART de software en cualquiera de los dos pines. Tenga en cuenta que no utilizar una interrupción significa que la CPU está ocupada esperando en el bit de inicio en lugar de recibir una notificación cuando debería comenzar la recepción.

    
respondido por el Ignacio Vazquez-Abrams
0

Sí. Golpe de bits es el término que podría buscar en Google y encontrar su respuesta.

Los protocolos seriales I2C, SPI y uart están más o menos iniciados como simplemente enviando un alto y bajo en un pin. Mientras que en I2C y SPI, el maestro controla el reloj y obliga al esclavo a recibir o transmitir en su propio reloj, donde, como en UART, no hay un esquema común para compartir el reloj, por lo que cada dispositivo controla su propio reloj y esos relojes coinciden de acuerdo con el Baud de otros dispositivos.

Entonces, lo que necesita saber es que básicamente podría usar cualquier pin para convertirlo en una transmisión UART pero necesita un reloj sincronizado en ambos dispositivos.

    
respondido por el MaNyYaCk

Lea otras preguntas en las etiquetas