Вопросы с тегом «timers»

Таймеры - это аппаратные средства процессора, используемые для подсчета и измерения времени событий. Используйте этот тег для вопросов об аппаратных таймерах.

13
Использование millis () и micros () внутри подпрограммы прерывания

Документация для attachInterrupt()говорит: ... millis()полагается на количество прерываний, поэтому оно никогда не будет увеличиваться внутри ISR. Поскольку delay()для работы требуются прерывания, он не будет работать, если вызывается внутри ISR. micros()Первоначально работает, но через 1-2 мс...

10
Может ли кто-нибудь объяснить этот странно выглядящий код, используемый для настройки таймеров?

Глядя на эскизы, написанные другими людьми, я иногда сталкиваюсь с кодом, который выглядит примерно так: TCCR1A = 0; TCCR1B = 0; TCNT1 = 34286; TCCR1B |= (1 << CS12); TIMSK1 |= (1 << TOIE1); Все, что я знаю, - это то, что связано с таймерами / таймерами (я думаю). Как я могу...

10
Настройка timer3 в режиме CTC - конфликт с библиотекой сервоприводов

Я хотел бы установить таймер для вызова функции 800 раз в секунду. Я использую Arduino Mega и Timer3 с прескалером 1024. Чтобы выбрать фактор прескалера, я рассмотрел следующие шаги: Частота процессора: 16 МГц Разрешение таймера: 65536 (16 бит) Разделить частоту процессора выбранного предделителем:...

9
Как Arduino может выводить конкретную (т.е. 56 кГц) несущую частоту?

Я работаю над проектом по космической оптике для беспроводной передачи данных между двумя точками. Для этого я использую ИК-светодиод, подключенный к Arduino Uno, который пульсирует с несущей частотой 56 кГц для передатчика, и второй Arduino с модулем ИК-детектора 56 кГц для приемника. Я попытался...

9
Необходима ли изменчивость, когда переменная доступна из> 1 ISR, но не используется совместно с ISR?

Это четко задокументированы , что , когда глобальные данные совместно с ISR и основной программой, то данные должны быть объявлены volatileдля того , чтобы видимость гарантии памяти (и , что достаточно только для данных 1 байт, требуется какой- либо большое специальные меры , чтобы гарантировать...

9
Возможна очень большая задержка ()?

Я пытаюсь открыть и закрыть маленькую дверь, которая должна открываться или закрываться каждые 12 часов. Мне было интересно, смогу ли я просто сделать небольшой зацикленный скрипт с задержкой () на 12 часов, задержкой (43 200 000 000); Я полагаю? Тем не менее, я понятия не имею, если это возможно и...

9
Arduino включается с таймером каждые 24 часа

В настоящее время я работаю над проектом Arduino, который отправляет мне зарядку автомобильного аккумулятора один раз в день через ESP8266. Зимой я не езжу на своей машине, и мне хотелось бы получать информацию, когда батарея падает до критического значения, чтобы я мог зарядить ее и предотвратить...

8
Как обновить переменную в ISR с помощью таймеров

Я пытаюсь проверить частоту Timer3 с помощью счетчика. Значение счетчика, объявленное как volatile, увеличивается в ISR, и каждую секунду сумма отображается в основном цикле, а значение сбрасывается в ноль. Таймер был настроен правильно. (Если я выберу таймер 3 Гц, я вижу мигание светодиода)...

8
Могу ли я сделать задержку в микросекундах более точной?

Я пытаюсь укусить данные DMX, и это требует импульсов 4us. Не очень удачно с результатами, я проверяю, насколько хорош Arduino в задержке ... Кажется, это довольно ужасно. Вот небольшой тест, который я сделал: unsigned long ptime; void setup() { Serial.begin(9600); } void loop() { ptime = micros();...