Arduino: Función digitalWrite más rápida
Todos los amantes de Arduino conocemos la función digitalWrite que se utiliza para activar las salidas digitales. Muchos la hemos utilizado para manejar pantallas LCD por ejemplo o incluso distintos drivers que necesitan de distintos pines digitales para su funcionamiento y por norma general la velocidad de ésta función no es precisamente rápida. Lo podemos notar en proyectos donde necesitamos manipular un puerto entero de forma rápida. Pues bien, ésta función toma más de 50 ciclos de reloj para su ejecución, lo cual es demasiado si queremos velocidad. Os dejo un pequeño trozo de código de Bill que muestra cómo manejar el puerto directamente y ejecutar lo mismo pero en tan sólo 2 ciclos de reloj. Recordemos que Arduino no es más que una plataforma montada alrededor de un pequeño chip AVR y podemos utilizar código nativo :)