Линк на форум.

Обсуждение проекта на форуме Arduino.ru

понедельник, 23 июля 2012 г.

Оптимизация кода

    После общения на форуме и всевозможных экспериментов удалось повысить скорость вывода изображения на куб. ускорение было достигнуто за счет работы с пинами ардуины на как можно более низком уровне.
хотя вся оптимизация коснулась замены функции digitalWrite на конструкцию которая вза
имодействует напрямую с пином(точнее с регистром группы пинов)
 и так меняем конструкции типа:
    digitalWrite(clock, HIGH); //установка логической 1 на контакт clock
    digitalWrite(clock, LOW);  // установка логический 0
на
    PORTD |= (1 << _clock);
//установка логической 1 на контакт clock
    PORTD &= ~(1 << _clock); // установка логический 0
на



Разница в скорости обработки выше более чем в 2 раза, впрочем смотрите на видео:
до оптимизации:

и после оптимизации:
    код самой оптимизации выложу позже, после адаптации всех эффектов под оптимизированный код.

За результаты благодарю человека под ником "Whoim" зарегистированным на форуме arduino.ru

Комментариев нет:

Отправить комментарий