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

3
Может ли функция вызываться автоматически при изменении входа?
В настоящее время мой эскиз проверяет входной контакт каждый раз вокруг основного цикла. Если он обнаруживает изменение, он вызывает пользовательскую функцию, чтобы ответить на него. Вот код (урезанный до самого необходимого): int pinValue = LOW; void pinChanged() { //... } void setup() { pinMode(2, INPUT); } void loop() { // …
21 pins  interrupt  isr 

2
Сколько контактов прерывания может обрабатывать Uno?
Я смотрю на использование 7-канального RC-ресивера с Arduino Uno R3. В документации упоминается максимум о 2 выводах прерываний, тогда как в некоторых других блогах я упоминал об использовании до 20 выводов в качестве прерываний с библиотекой PinChangeInt. Итак, сколько прерываний может обработать Arduino изначально? И отличается ли это от того, …

2
Насколько точно я могу получить Arduino, используя поворотные датчики?
Шаговые двигатели часто дороги для большого двигателя. Однако с помощью мощного стандартного двигателя постоянного тока и поворотного энкодера вы можете «имитировать» шаговый двигатель. Насколько точны ротационные энкодеры с Arduino только с базовым циклом и не так много другого кода? Будет ли он «пропускать пульс» и не записывать достаточно вращения часто? …

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

2
Являются ли указатели на функции атомными в Arduino?
Следующие фрагменты взяты из исходного кода библиотеки TimerOne : // TimerOne.h: void (*isrCallback)(); // TimerOne.cpp: ISR(TIMER1_OVF_vect) // interrupt service routine that wraps a user defined function supplied by attachInterrupt { Timer1.isrCallback(); } // TimerOne.cpp: void TimerOne::attachInterrupt(void (*isr)(), long microseconds) { if(microseconds > 0) setPeriod(microseconds); isrCallback = isr; // register the …

1
Как прерывания работают на Arduino Uno и подобных платах?
Пожалуйста, объясните, как работают прерывания на Arduino Uno и связанных платах с использованием процессора ATmega328P. Доски, такие как: Организация Объединенных Наций Мини Nano Pro Mini Lilypad В частности, пожалуйста, обсудите: Для чего нужны прерывания Как написать процедуру обработки прерывания (ISR) Сроки проблемы Критические разделы Атомарный доступ к данным Примечание: это …

1
Подсчет импульсов с прерыванием
Я пытался посчитать импульсы от прямоугольной волны 12500 Гц, чтобы вызвать выход. Вот код, который у меня есть. Когда Arduino сбрасывается, он печатает 315 на серийный номер в течение 25 мсек. 315 х 40 = 12600. Что мне кажется, это работает отлично. Моя единственная проблема - он возвращает этот номер …
10 interrupt 

1
Необходима ли изменчивость, когда переменная доступна из> 1 ISR, но не используется совместно с ISR?
Это четко задокументированы , что , когда глобальные данные совместно с ISR и основной программой, то данные должны быть объявлены volatileдля того , чтобы видимость гарантии памяти (и , что достаточно только для данных 1 байт, требуется какой- либо большое специальные меры , чтобы гарантировать также атомарность) , Здесь у …
9 interrupt  timers  isr 

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

3
Несколько независимых светодиодных моделей
У меня есть проблема, которая на первый взгляд (и, будучи новичком в Arduino), я, тем не менее, была идеальным приложением для Arduino. Однако, пытаясь и не в состоянии осуществить это, я сомневаюсь в себе! Проще говоря, мне нужно независимо управлять многими светодиодами, многие из которых будут иметь свои собственные индивидуальные …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.