• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

I2C на RTL...

pvvx

Активный участник сообщества
Всем здравствуйте!
Подскажите, а каким образом конфигурируются пины GPIO (PC_4 и PC_5)? Из кода этого непонятно...
Имеем плату RAK473. Пытаемся прочитать несколько байт от устройства по I2C: функции _i2c_setup, _i2c_init, _i2c_set_speed проходят без ошибок, но _i2c_read возвращает либо I2C abort либо I2C Timeout. Посмотрели осциллографом, сигналов на выводах нет вообще... Единственная версия - что они неправильно сконфигурированы.
Резисторы на SCL и SDA стоят?
I²C использует две двунаправленные линии, подтянутые к напряжению питания и управляемые через открытый коллектор или открытый сток
Иначе контроллер будет считать, что шина I2C занята -> "возвращает либо I2C abort либо I2C Timeout".
Так-же прочитайте "Недостатки".
При больших номиналах подтягивающих резисторов и большой скорости шины (обычно более 100 кГц), включение на сигналы дешевых щупов осциллографа или лог.анализатора с большими входными емкостями вызывают те-же ошибки.
 
Последнее редактирование:

A_D

Active member

pvvx

Активный участник сообщества
Вариант на плате Creator Pro с RAK473
Пины у самого модуля RAK473 разведены. Я заказывал и приходило с двух источников (магазинов) несколько вариантов - в составе Dev-Board плат и сами модули. На всех разводка самих модулей соответствует описанию от A_D. Других вариантов пока не встречалось.
 
Последнее редактирование:
Сверху Снизу