Код Arduino для запуска 2 вещей одновременно
Я делаю проект для своего колледжа, в котором мне нужно одновременно измерять обороты двигателя и отображать часы реального времени на 128x64 GLCD, но когда я запускаю проект, он показывает только одну вещь за раз. Есть ли способ отобразить их обе одновременно? Я не добавляю никакого кода, потому что я просто компилирую свой датчик Холла отдельно, а код RTC отдельно
1 ответ
Лучший ответ:
Микропроцессоры Arduino в основном представляют собой одноядерные устройства и поэтому не могут выполнять более одной задачи одновременно. Секрет в том, чтобы писать код эффективно, чтобы казалось, что несколько вещей происходят одновременно, но на самом деле они просто происходят очень быстро. На ЖК-дисплее должно быть достаточно отображать только время и обороты двигателя каждую секунду, чтобы оба события происходили в течение секунды.
- Может ли он измерять время между сигналами, сохранять время между сигналами и отображать его?
- Использование millis() и micros() внутри процедуры прерывания
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
- Как отобразить символ º на ЖК-дисплее?
- Как сделать очень долгую функцию delay(), несколько часов
- Разница между «time_t» и «DateTime»
- Получение BPM из данного кода
- Как считать время в секундах?
Вы пишете код, который делает то, что вам нужно. Вы никогда не «делаете две вещи одновременно», а пишете код, который просто делает то, что вам нужно. Вы должны понимать, что делают ваши текущие «два кода» и как они работают, прежде чем вы сможете попытаться заставить их работать вместе., @Majenko
Без кода сложно предложить улучшения. Взгляните на пример мерцания без задержки (миллис, чтобы избавиться от блокирующего кода, например, задержки). Это то, что я использовал для эмуляции параллельной обработки., @idkfa
Прерывания — ваши друзья. Как и таймеры/счетчики., @BobT