Cuando me enteré del micrcontrollers, los maestros me enseñaron a siempre final, el código con while(1);
con no de código dentro de ese bucle.
Esto fue para asegurarse de que el software de "pegado" a mantener la interrupción del trabajo. Cuando les pregunté si era posible poner algo de código en este bucle infinito, me dijeron que era una mala idea. Sabiendo eso, yo ahora a intentar mi mejor esfuerzo para mantener este bucle vacío.
Ahora necesito implementar una máquina de estados finitos en un microcontrolador. A primera vista, parece que el código de pertenecer en este bucle. Que hace que la codificación sea más fácil.
Es una buena idea? ¿Cuáles son los pros y los contras?
Esto es lo que pienso hacer :
void main(void)
{
// init phase
while(1)
{
switch(current_State)
{
case 1:
if(...)
{
current_State = 2;
}
else(...)
{
current_State = 3;
}
else
current_State = 4;
break;
case 2:
if(...)
{
current_State = 3;
}
else(...)
{
current_State = 1;
}
else
current_State = 5;
break;
Y este código va en...
Pido a la misma pregunta en stackOverflow para obtener algo más de detalle.