Error con temporizador... millis() cambia de milisegundo cada dos milisegundos

Buenas a todos,

cacharreando con un arduino nano (chino) he podido comprobar que la función millis() me devuelve siempre la mitad de los milisegundos que realmente han pasado, para hacer la prueba puse un temporizador de 15 segundos (15000 milisegundos) y con un cronómetro pude comprobar que realmente eran 30 segundos.

también me he dado cuenta que para que escriba de forma correcta en el Serial, tengo que establecer la velicidad a 19200 en lugar de los 9600 habituales, sino aparecían caracteres raros.

¿Qué está ocurriendo?

Gracias.

Tiene mal el cristal?
Revisa que cristal tiene.

A qué cristal te refieres??

Gracias.

Se llama cristal al resonador de frecuencia que tiene un cristal de cuarzo que en general es de 16Mhz pero tal vez en tu caso sea de 8Mhz.

Debías usarlo en una aplicación en que no sea importante el tiempo, o en la que sea fácil modificar el programa para que considere siempre la mitad del tiempo. Si no tienes una aplicación así, guardarlo hasta que aparezca una.