Estoy usando Atmel AVR ATmega8 en mi proyecto de monitoreo, que mide el voltaje trifásico y envía datos a través de un uart. Funciona muy bien en 1 o 2 días. Pero después de esa cantidad de tiempo, no funciona como se esperaba, y ninguna respuesta proviene de la uart y del latido del corazón, lo que indica que uc está vivo o no. Y a veces los latidos del corazón parpadean y ninguna respuesta proviene de uart. Pero después de un reinicio de hardware, vuelve a funcionar, luego se bloquea de nuevo hasta que se reinicia el hardware. Implementé un perro guardián en él, pero parece que no funciona. Reajusté el contador de vigilancia en la rutina de interrupción del temporizador de 8 bits. ¿Debo restablecerlo en mi código principal, no en una rutina de interrupción?
Supongo que está saliendo de la SRAM. ATmage8 SRAM es de 1 kb, y mis datos estáticos están usando el 71,2%. Y no estoy usando ninguna asignación de montón. Mi pregunta es: ¿Es posible que los datos estáticos y de pila se colenan?