Страница 1 из 1
По организации блока пользователя
Добавлено: 04 фев 2017, 15:50
RedSky
Подскажите, можно ли в блоках пользователя сделать так что-бы последняя строчка кода и в скетче тоже оказалась последней.
Делаю набор блоков для 5110 на библиотеках Adafruit с кириллицей и графикой. Будут разные блоки для строк по аналогии с 1602 и блоки фигур. Нужно что-то типа:
void loop()
{
display.setContrast(contrast); // Устанавливаем контраст
display.clearDisplay(); // Очищаем дисплей
//тут ещё что-то будет
display.display();//конец скетча
Сейчас приходится разносить display.clearDisplay() и display.display() в первую и последнюю кучу, а хочется служебные функции уместить в один блок инициализации.
По организации блока пользователя
Добавлено: 04 фев 2017, 16:46
Boroda
Не до конца понял...
Вот пример кода:
Код: Выделить всё
void setup()
{ // секция настроек
...............
// код из платы
..............
} // конец секции настроек
void loop()
{ // секция цикла
..............................
// код из платы
..............................
// тут код вашего блока
display.setContrast(contrast); // Устанавливаем контраст
display.clearDisplay(); // Очищаем дисплей
//тут ещё что-то будет
display.display();
//конец вашего кода
..............................
// код из платы
..............................
{ // конец секции цикла
// далее секция подпрограмм и прерываний
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}
ISR(TIMER2_OVF_vect)
{ TCNT2=100;
if(_PWDC >= 1000){asm volatile ("jmp 0x0000");}else{_PWDC = _PWDC+1;};
}
Что и как должно быть?
По организации блока пользователя
Добавлено: 05 фев 2017, 10:43
RedSky
Функция display.display() должна завершать вывод текста и графики. Так как блоки в проекте могут располагаться произвольным образом, то display.display() проще всего поместить в самый конец. Хотелось так, чтобы если блок пользователя, в котором есть display.display() находясь в начале проекта помещал её в конец.
По организации блока пользователя
Добавлено: 05 фев 2017, 11:24
Boroda
Тут надо понимать, что вывод на такой индикатор занимает очень много времени, поэтому обновлять его надо только по необходимости (переход по пунктам меню, изменение значения, которое отображается в данный момент на индикаторе и т.д.). Следовательно блоки подготовки и обработки данных вставляем в любое место программы, а вот блок вывода индикации необходимо поставить на отдельную плату с битом разрешения работы (в версии FLProg 2.3.1 появилась возможность запускать платы по условию).