Странное поведение порта
- Войдите на сайт для отправки комментариев
Пнд, 26/08/2019 - 10:18
чип ESP32S
использую для приема цифровых сигналов от датчиков 5 GPIO портов.
непредсказуемое поведение только с одним GPIO16
вот код инициализации:
pinMode( 16, INPUT_PULLUP ); attachInterrupt( digitalPinToInterrupt( 16 ), counter16, RISING );
выражается в следующем: То прервание вызывается если на вход 16 подать +3.3V, то после перезагрузки/перепрошивки бац и уже реагирует только если закоротить пин на землю GND.
По документации он отвечает за UART2 нога R2 но я отключил второй Serial и отключил для надежности какую либо отладку. Тоесть UART ну никак не может использовать GPIO и менять его поведение.
ЗЫ подтягивающий резистор 5,1кОм имеется
это подразумевает использование встроенного резистора с подтяжкой к плюсу питания.
Я так понимаю, надо резистором притянуть к земле пин и сменить тип входа на просто INPUT. Тогда при подаче плюса питания на пин будет срабатывать прерывание.
все GPIO притянуты 5,1кОм резистором к +3,3V к земле идет 100пФ rjyltycfnjh
поэтом INPUT_PULLUP и INPUT - поведение не меняется. Я оба варианта пробовал
Вы читать умеете?
А вы его в плюсу питания притягиваете зачем-то...
Или событие смените на - FALLING (оно как раз с HIGH на LOW срабатывает).
все GPIO притянуты 5,1кОм резистором к +3,3V к земле идет 100пФ rjyltycfnjh
поэтом INPUT_PULLUP и INPUT - поведение не меняется. Я оба варианта пробовал
А что у вас там к пину подключено? Как вы его состояние меняете?