Así que tengo un ATmega328P con un cristal externo de 14.7456MHz, configuración de swing completo, y estoy tratando de hablar con mi mac a través de UART y un dispositivo tipo amigo FTDI.
Si conecto AVR Tx a AVR Rx, entonces todos los bytes aparecen perfectamente (puedo verlo en algunas pantallas de 7 juegos). Si conecto FTDI Rx a FTDI Tx, entonces todos los bytes aparecen perfectamente (se ven en el monitor serie de Arduino). Las velocidades en baudios de ambos dispositivos son las mismas.
Sin embargo, cuando los conecto juntos ...
El monitor serie obtiene datos (la barra de desplazamiento aparece y comienza a desplazarse), pero no se muestran caracteres. Es como si fueran todos espacios (envío 'a', o un número de 8 bits arbitrario). Si selecciono la mitad de la velocidad en baudios, aparecen caracteres extraños, pero no lo que envío.
El AVR recibe caracteres (recibe los disparos de interrupción), pero lo que recibe es 0 o el mismo número (por ejemplo, 173, pero parece bastante aleatorio) para cualquier carácter que envíe.
He buscado en Google y en Google, y no he encontrado ninguna solución para esto. ¿Algunas ideas? La ayuda en esto es muy apreciada. (espero que haya proporcionado suficiente información)