Port Manipulation and Arduino’s digitalWrite Performance

The widely used Arduino IDE offers many easy-to-use functions, one of them is  void digitalWrite(uint8_t pin, uint8_t val) . It sets one of the microcontroller’s pins to either high or low and serves well in many cases. However, it has a really poor performance, i.e. execution time. This post analyses both, speed and interior of the digitalWrite function, and …