roboforum.ru

Технический форум по робототехнике.

как сделать многозадачность

Как собрать и запрограммировать робота на Arduino(Freeduino, Roboduino, Seeduino ...). Используем Wiring и Processing.

как сделать многозадачность

Сообщение kirillka » 30 ноя 2024, 11:21

Здравия, товарищи, есть один вопрос. Мне надо сделать в программе 2 независимых (почти) потока

1 поток - светодиоды горят

2 поток - пищалка играет

так же имеется кнопка, которая должна включать / выключать потоки (оба сразу)

Вопрос: а как реализовать многозадачность. Спасибо

(моя тема на forum.arduino.ru также называется)
kirillka
 
Сообщения: 1
Зарегистрирован: 30 ноя 2024, 11:18

Re: как сделать многозадачность

Сообщение Scorpio » 16 дек 2024, 08:00

Прервать основной поток можно по срабатыванию таймера. Например, переключать состояние светодиодов каждые 0.5 секунды. На проигрывании мелодии в основном потоке это вероятно никак не отобразится. Понятное дело, что физически это один поток. Т.е. когда процессор отвлекся на прерывание, то в основном потоке ничего не происходит. Если вставить в функцию по прерыванию какую- нибудь задержку - то мелодия поплывет.
Аватара пользователя
Scorpio
 
Сообщения: 2683
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: как сделать многозадачность

Сообщение esisl » 16 дек 2024, 10:15

Поставить две ардуинки?
esisl
 
Сообщения: 1481
Зарегистрирован: 23 июл 2012, 15:24


Вернуться в Arduino и другие Xduino

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4