Допустим, у нас на PORTD сидят светодиоды на пинах 0–7. Чтобы зажечь их все одновременно, мы пишем:
// Старый, медленный способ (8 вызовов digitalWrite)
for (int i = 0; i < 8; i++) {
digitalWrite(i, HIGH); // Это займет ~40 микросекунд!
}
// НОВЫЙ ХАКЕРСКИЙ СПОСОБ (1 такт процессора - 62.5 наносекунды!)
DDRD = 0xFF; // Устанавливаем все пины PORTD (0-7) как выходы
PORTD = 0xFF; // Подаем HIGH на все 8 пинов одновременно
Результат: Вы зажгли 8 светодиодов в 600+ раз быстрее, чем через digitalWrite!