Хак №1: Устанавливаем 8 пинов за 1 такт!

Допустим, у нас на 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!

Вам также может понравиться

About the Author: ардуинчиков

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *