Многозадачность? ехать и мигать
- Войдите на сайт для отправки комментариев
Пнд, 27/10/2014 - 01:15
Как понял многозадачности нет, в MEGA. Хочется ехать шаговиком и мигать светодиодом, причем не постоянно. Как идея эмулировать многозадачность, делая команды попеременно, сделать массив байтовых чисел. И последовательно читать их, в целях экономии места вжать в байт 8 состояний 1-0, включено, выключено LED. 255 = 1111 1111 мигание 8 раз, в практическом смысле LED горит постоянно, но зато машинка проезжает 8 шагов. 0000 1100 моргнули.
Вопрос так сойдет или как нибудь попроще через перерывания ?- подается +1 шаговику, а в основном потоке мигаем светодиодом сколько надо.
Если через массив выбирать значения из байта?
for a:=0 to 7 do begin
ledstatus=MASSIV[a].subbyte ????
end;
http://arduino.ru/tutorials/BlinkWithoutDelay
Спасибо, несколько нето, или подойдет, но муторно в отладке, пока сам не знаю сколько должен мигать и через сколько шагов. Написал код. Мигание будет заложено в массиве, в отладке настроить реальное количество шагов, скорость. Вопрос как вытягивать поочередно состояния битов в байте в 33 строчке? Вкользь фукцию не нашел
решил просто массив байт, памяти пока хватает
Псевдомультизадачность
http://blog.ksduino.org/post/42862084042/pseudo-multitasking-using-timer...
сразу ответить не мог - слетает пароль на этом сайте постоянно, на других сайтах нормально.
Данный код не понятен, тем более функции отдельные. недавно оплевался почему не работает код,
в сделал фукцию void MMMM () в ней заполнение массива данными, его по выше в коде.
В loop на него вызов, не работает, т.к в нем нули, даже если вставить в тот код lcd.print(тект);
не будет печатать.
Такое встречалось в Делфи, надо было указывать в функции явные объекты и вызывать функцию указывая имена визуальных классов