Приветствую, комрады!
Вопрос видимо банальный, но опыта (да и знаний) нет, а ответа в инете не нашел.
Проект на ATmega328 предусматривает подключение периферийных устройств как Bluetooth модуль (UART), ИК модуль (I2C), LCD SSD1306 (SPI). Плюс, таймер, обработчик кнопок и АЦП для контроля АКБ.
Для работы с LCD использую библиотеку U8glib v_1.18.
Для выводя на экран используется конструкция с бесконечным циклом типа "for":
- Код:
for(;;) {u8g_FirstPage(&u8g);
do {page ();}
while (u8g_NextPage(&u8g));}
Весь остальной код, который должен быть зациклен, приходится вставлять в этот "for".
А выполняется он около 2 секунд при частоте MK - 8MGz. Что сильно сказывается на скорости опроса состояния кнопок и работе всей программы. Увеличив частоту до 16М стало немного побыстрее, но все равно долго.
Не могу понять - это нормальная работа по SPI с такими тягомотными циклами? Что мне теперь частоту до 32M поднимать
В общем буду благодарен за подсказки
ибо чего то я явно не понимаю и главное простого...