Monitor Serie<\/strong> de Arduino, en la pesta\u00f1a Herramientas), y espera durante 1000 milisegundos (1 segundo) al final de cada iteraci\u00f3n del bucle. <\/p>\nvoid setup() {\r\nSerial.begin(9600);\r\n}\r\n\r\nvoid loop() {\r\nSerial.println(\"Hola\");\r\ndelay(1000);\r\n}<\/pre>\nLa funci\u00f3n delay()<\/strong> es muy f\u00e1cil de usar para crear esperas, pero tiene un inconveniente: deja al microcontrolador \u00abatrapado\u00bb dentro de la ejecuci\u00f3n de esta funci\u00f3n durante el tiempo que se ha indicado. Si hubiese un cambio en un pin que deber\u00eda detectar, o si llegase informaci\u00f3n a trav\u00e9s de cualquiera de las comunicaciones posibles (serie, I2C o SPI) el microcontrolador s\u00f3lo se enterar\u00eda luego de completarse el retardo.<\/p>\nUna soluci\u00f3n es crear un retardo que no deje insensible al sistema durante un tiempo tan extenso.<\/p>\n
La funci\u00f3n millis()<\/strong><\/p>\nmillis()<\/strong> devuelve el n\u00famero de milisegundos desde que la placa Arduino empez\u00f3 a ejecutar, luego de un reinicio o el encendido. Este n\u00famero se desbordar\u00e1 (volver\u00e1 a cero), despu\u00e9s de aproximadamente 50 d\u00edas.<\/p>\nRetorna la cantidad de milisegundos en un valor long sin signo<\/strong> (unsigned long<\/strong>).<\/p>\n unsigned long tiempo;\r\n void setup(){\r\n Serial.begin(9600);\r\n }\r\n void loop(){\r\n Serial.print(\"Tiempo: \");\r\n tiempo = millis();\r\n \/\/ imprime el tiempo transcurrido desde el inicio del programa\r\n Serial.println(time);\r\n \/\/ esperar un segundo para no enviar cantidades masivas de datos\r\n delay(1000);\r\n }<\/pre>\nNota:<\/strong> Tenga en cuenta que como el valor de retorno para millis()<\/strong> es un long sin signo<\/strong> (unsigned long<\/strong>), pueden producirse errores l\u00f3gicos si un programador intenta hacer operaciones aritm\u00e9ticas con tipos de datos m\u00e1s peque\u00f1os, como de tipo int<\/strong>. Incluso con los long con signo<\/strong> se pueden producir errores ya que su valor m\u00e1ximo es la mitad que la de su contraparte sin signo.
\n