Tengo un problema extraño. Quiero incrementar un valor cada vez que se llama a la función de bucle o un valor aleatorio cada vez. Si uso un int global para incrementar o establecer un int local en un valor aleatorio, obtengo un fallo extraño. El código se compila bien, pero el tamaño es mucho mayor que el tamaño compilado si defino y establezco un valor estático en la función de bucle. No solo aumenta el tamaño compilado en 2 KB entre las dos situaciones, sino que la ejecución parece actuar de forma errática.
Ejemplos.
Esto funciona
/********************************************/
...
void setup( void )
...
void loop( void ) {
int a = 0;
}
/********************************************/
Esto no lo hace
/********************************************/
int a;
...
void setup( void )
...
void loop( void ) {
a = 0;
}
/********************************************/
Tampoco esto
/********************************************/
...
void setup( void )
...
void loop( void ) {
int a = random( 10 );
}
/********************************************/
Me encantaría ver si alguien pudiera explicar por qué esto está actuando de manera tan extraña.
Avísame si quieres más ejemplos de código