Я работаю над Arduinos, и я хотел бы использовать прерывания для использования поворотного энкодера . Но я хотел бы уменьшить код прерывания до минимума.Несколько триггеров при одном прерывании на Arduino
Могу ли я использовать несколько триггеров для одного прерывания?
Я хотел бы replcace мой фактический код:
attachInterrupt(0, ChangeA, CHANGE);
к чему-то вроде
attachInterrupt(0, FailingA, FAILING);
attachInterrupt(0, RisingA, RISING);
Возможно ли это?
Является ли используемый вами поворотным энкодером (т. Е. Это периферийное устройство ввода, например ручка) или двигателем? И следовательно ... Какова максимальная частота, которую вы получаете на контактах? И ... вот последний и самый важный вопрос: действительно ли вам нужен этот код для прерывания? Это так быстро и важно, что вам нужно прерывание, чтобы справиться с этим? Если частота меньше, скажем, 100 Гц, возможно, лучше ее обрабатывать в программном обеспечении (опрос) ... – frarugi87
Хммм ... Извините, но у меня есть 2 поворотных энкодера ... с 1024 тиками каждый , Это означает, что с двумя вращениями в секунду (40 см/с) у меня есть 8000 прерываний ... 8 кГц слишком много, чтобы справиться с этим в программном обеспечении! (Это не единственное, что я должен сделать на этом Arduino). –