Кастомный контроллер ESP32 Devkit V1 для версий 6.1
Спасибо за пинок в правильном направлении Удалось самостоятельно исправить код блока, теперь идентификатор выводится в точности как в стандартном примере для ESP32.dsfbuy писал(а): ↑26.11.2019{, 13:00}DrMario, Так компилирует ChipID = printf ("%04X",(uint16_t)(chipid>>32)) + printf ("%08X", (uint32_t) chipid);
Что вышло не проверял.
Вообще и так компилит без доп переменной:
ChipID = printf ("%04X",(uint16_t)(ESP.getEfuseMac()>>32)) + printf ("%08X", (uint32_t) ESP.getEfuseMac());
Надо проверять на мк, как будет работать.
Про функцию printf почитать - http://we.easyelectronics.ru/Soft/forma ... lerov.html
Действительно все просто и хороший результат 385aec40a24. Сохранил себе блок как альтернативный, спасибо!
Serial1 прекрасно работает с библиотекой HardwareSerial.h
Теперь будет работать, если заменить кастомный контроллер из первого поста и использовать новую версию FLProg. В прежней версии не было полноценной поддержки ESP32
Я даже не знаю чем Вам помочь. Попробуйте вот эти блоки, собирал от разных авторов.
Сделал блок, проверено на выводах 25, 26, 27
Не лез в саму библиотеку, точно не могу сказать. Я использовал енкодер из набора, примерно такой https://ru.aliexpress.com/item/33039321 ... b201603_53
Большое спасибо! Все работает. Вы использовали отправку и прием в UART для осуществления прерывания? Я пробовал то же самое делать с применением скоростного счетчика. То же летает, но полноценной работы не получил, т.к. направление счета не удавалось фиксировать. В результате подключил Ваш вариант, как в в прилагаемом файле. Дополнительно поделил на 2, так как в моем варианте энкодера он выдает два импульса на клик.
Если энкодер, к примеру 400 импульсов, то программно получается 1600 импульсов на оборот.Ecomat писал(а): ↑02.12.2019{, 19:40}Большое спасибо! К сожалению, не могу до конца разобраться. Попробовал и на указанных Вами пинах, и на своих. Использую Энкодеры EC11, подтяжка 7,5 ком. До этого стояли конденсаторы по 100 nf, для устранения дребезга. Попробовал и с ними и без них. Работает, но очень медленно. В проекте, кроме энкодер,а оставил только OLED дисплей 0,96. Для вывода результата. Он конечно мешает, но если подключаю на любой из пинов, используемых для энкодера, скоростной счетчик, с прерыванием, то скорость "накрутки" очень высокая. А с этим блоком еле еле, и не всегда правильно определяет направление. У этого блока, на указанных пинах, происходит прерывание??
Евгений, спасибо! У вас нет такого же, но с перламутровыми... Простите шутка. Нужно ограничение счета вверх и вниз, минимум и максимум. Я слепил, из стандартных блоков, считает от 0 и до верхнего предела переменных. Пока достаточно. Но сделать ограничение вверх, без обнуления не получилось.
Просто блоками: