Официальный сайт компании Arduino по адресу arduino.cc
Странное поведение I2C ESP32
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Добрый ночи уважаемые форумчане. Столкнулся с такой проблемой, на видео контроллер, под капотом ESP32, по шине I2C подключен ЖК дисплей 16Х4. Рядом с правой стороны находится контактор модульный. Подаю напряжение на реле контактора I2C, от помех шина I2C зависает. ESP32 плюет в порт Serial что I2C занята, SDA сажается на землю, выполняемая программа зависает до того момента пока я не отключу на горячую дисплей. Подумал дело в дисплее, проэксперементировал на arduino nano, все работает отлично.
-Дисплей к ESP32 подключен как положено, через преобразователь уровней 5->3,3В.
-Подтяжка со стороны ESP32 2,7кОм а со стороны дисплея 4,7кОм.
-ESP32 менял из разных партий результат нулевой.
-Фреймворк arduino, библиотека для дисплея стандартная LiquidCrystal_I2C.h
Может кто сталкивался???
Реализация i2c в arduino склонна зависать намертво. Просто нет обработки случая сбоя. Делай надежную связь.
Как еще надежнее делать аппаратную часть ??? не представляю. Тут люди переделали библиотеку Wire https://github.com/stickbreaker/arduino-esp32/tree/master/libraries/Wire , кто бы помог переделать LiquidCrystal_I2C под него.
Как еще надежнее делать аппаратную часть ??? не представляю.
Учебник прочитай. лол.
Форум и для этого существует, чтобы спрашивать. Если ты прочитал мой пост, то там ясно сказано, что я менял контроллер ESP32 на atmel и проблема исчезала это доказывает, что проблема не аппаратная а программная.
Любая аппаратная проблема может казаться программной (и наоборот), пока она не локализована.
У тебя всё хорошо с мозгами? Поменял железо и проблема исчезла. Это доказывает, что проблема не в железе.
Что за форум, твою дивизию, это у тебя с мозгами не в порядке пару шариков не хватает!!! Че ты умничаешь, не знаешь не пиши вообще!!. Ты писал, что нужно I2C надо делать надежную, я же говорю, что я менял контроллер на другой на той же плате и все работает. Если ты читал ??? а я уверен ты даже не открыл ссылку которую я скинул https://github.com/stickbreaker/arduino-esp32/tree/master/libraries/Wire, то там люди столкнулись с проблемой I2C в ESP32 в arduino
Как вы связываете написанное на github со своими симптомами - не только по слову "problem"?
Дорогой! Зачем такой горячий?! Есть трабл в реализации и2ц - ну и прекрасно - возьми другую, или свою напиши, там 30 строк кода.
Для дисплея 1602, 1604 и т.п. управление - еще 20 строк кода. Причем реализация в LiquidCrystal_I2C - совсем детская, как из кубиков. Писалась школьниками, вероятно, всеми используется просто потому, что косячит мало, и не очень ответственна.
Софт и2ц + управление дисплеем я как-то даже в аттини13 запихивал и еще место оставалось ;))) вот реально дольше тут препираться станешь, чем сесть и написать.
Спасибо так и сделаю.
-Дисплей к ESP32 подключен как положено, через преобразователь уровней 5->3,3В.
можно просто к 3.3в подтягивать. Если на дисплейной плате стоит подтяжка к 5В - придется ее убрать.