Cómo dormir Arduino

12

¿Cómo se programa un modo de suspensión para su Arduino? Especialmente para diseños con batería, ¿cuáles son buenas técnicas para dormir la CPU pero despertarse solo cuando sea necesario?

littlebirdceo
fuente

Respuestas:

3

tenga en cuenta que, dependiendo de su modo de suspensión, hay un par de fuentes de interrupción en su arduino. timer0 genera una interrupción por desbordamiento que despertará a tu arduino aproximadamente cada milisegundo y el uart generará una interrupción cada vez que haya un personaje entrante. ... y, por supuesto, hay interrupciones externas en los pines 2 y 3 que puede haber habilitado o no con la función attachInterrupt.

Cuando se produce una interrupción, su boceto se despertará del sueño y, una vez que se haya realizado el mantenimiento de la interrupción, continuará ejecutándose desde el punto donde se fue a dormir. La solución a esto es configurar su boceto para que se vuelva a dormir cada vez a través del bucle, a menos que sea realmente el momento de despertarse.

usuario64
fuente