attachInterrupt не влияет на Industruino SAMD21
interrupt
samd21g
Я использую Industruino D21G (версия SAMD21G) с расширением Visual Studio Code для Arduino. attachInterrupt
, похоже, не имеет никакого эффекта. Я пробовал Industruino CH1, CH6 и CH7 с тем же результатом. Когда я опрашиваю эти каналы в цикле, я обнаруживаю изменение уровня сигнала, как и ожидалось. Вот код:
#include <Arduino.h>
#include <Indio.h>
constexpr int PROXIMITY_SENSOR_NC = 6;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Indio.digitalMode(PROXIMITY_SENSOR_NC, INPUT);
attachInterrupt(digitalPinToInterrupt(PROXIMITY_SENSOR_NC), blink, FALLING);
digitalWrite(LED_BUILTIN, HIGH);
}
void blink() {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
void loop() {
}
Есть идеи, что может быть не так?
@Paul Jurczak, 👍1
Обсуждение1 ответ
▲ 1
Ввод-вывод промышленного уровня на Industruino, который включает в себя каналы CH1, CH6 и CH7, которые я пробовал, не подключен напрямую к микроконтроллеру. Он использует буфер и обменивается данными через I2C в режиме pull. Вот почему прерывание при изменении ввода-вывода не имеет никакого эффекта.
,
@Paul Jurczak
Смотрите также:
- Перевод платы на базе samd в спящий режим
- Использование millis() и micros() внутри процедуры прерывания
- Подсчет импульсов с прерыванием
- Устранение дребезга кнопки с помощью прерывания
- Программа arduino выдаёт ошибку expected //primary-expression before ')' token error: //expected ';' before '}' token E
- Почему необходимо использовать ключевое слово volatile для глобальных переменных при обработке прерываний в ардуино?
- Как сгенерировать аппаратное прерывание в mpu6050 для пробуждения Arduino из режима SLEEP_MODE_PWR_DOWN?
- Использование поворотных энкодеров с прерываниями смены контактов
**Комментарии были [перемещены в чат](https://chat.stackexchange.com/rooms/145801/discussion-on-question-by-paul-jurczak-attachinterrupt-has-no-effect-on-industru); пожалуйста, не продолжайте обсуждение здесь. ** Перед публикацией комментария под этим, пожалуйста, ознакомьтесь с [целями комментариев](/help/привилегии/комментарий). Комментарии, которые не требуют пояснений или предложений по улучшению, обычно относятся к [ответу](/help/how-to-answer), [мета] или [чату]. Комментарии, продолжающие обсуждение, могут быть удалены., @Nick Gammon