Tengo un ATmega644 conectado a otro dispositivo usando el UART. Después de recibir unos pocos caracteres en el UART, el dispositivo se reinicia y / o actúa extraño. Algunos ejemplos de este comportamiento:
- El código antes de que se ejecute de nuevo el bucle principal, pero MCUSR es 0 (es decir, no hay reinicio "real")
- El código dentro del bucle principal se ejecuta a pesar de que no se presionaron los interruptores conectados a las entradas (los pullups están configurados correctamente).
- A veces el MCU simplemente se cuelga
- A veces, los puertos que no estaban configurados como salidas actúan como salidas (por ejemplo, los LED conectados a ellos se iluminan aunque el DDR para ese puerto es 0).
El dispositivo está utilizando un cristal externo de 18.432 MHz y el UART está configurado en 19200 baudios. Se alimenta con 5V; el pin RX está conectado a un 3V3 RPi.