28.12.2013, 12:17 | #1 |
Senior Member
|
I2C на GPIO 7 и 29
Кто-нибудь пробовал работать по интерфейсу I2C?
Adding I2C Bus (MR3020 ET I2C AVEC LES GPIO) If you want to add I2C bus to your MR3020, you can use GPIO 7 and 29. Remove R15 and R17, then add pullup between 3.3v and gpio pin. Next step, add this line i2c-gpio-custom bus0=0,7,29 to /etc/modules.d/99-i2c and load i2c-gpio-custom. Хочу подключить DS1307 к плате и с помощью скриптов использовать эти RTC вместо аппаратных при старте системы. Подключу "таблетку" и этого должно хватить на несколько лет для использования в местах, где нет интернета, чтобы синхронизироваться. Не мог бы кто подсказать как должно выглядеть обращение к выводам 7 и 29 для чтения и записи? Например, из lua. Не знаю ещё как проглотит микросхема работу с 3,3 В в качестве уровней.
__________________
Россия навсегда! |
28.12.2013, 22:22 | #2 |
Senior Member
|
Re: I2C на GPIO 7 и 29
Может кто подскажет, как можно указать пакету i2c-tools, что линии SDA и SCL находятся на 7 и 29 выводах?
kmod-i2c-gpio-custom не ставится, требует kmod-i2c-gpio, который отсутствует с списке доступных пакетов... и что делать? Вот тут написано внятней: Temperature Sensing on the BR-6104K. Будем разбираться.
__________________
Россия навсегда! Последний раз редактировалось uni; 28.12.2013 в 22:32. |
29.12.2013, 09:20 | #4 |
Senior Member
|
Re: I2C на GPIO 7 и 29
Спасибо, попробую ваш вариант. Только OpenWrt у меня не устанавливает kmod-i2c-gpio-custom из своего репозитория, пишет, что нужен kmod-i2c-gpio, которого там нет вообще. Неохота из-за этого на другую прошивку переходить, не пойму почему нет этого пакета.
Если я использую выводы 7 и 29, то мне нет необходимости выгружать модуль работы со светодиодами?
__________________
Россия навсегда! |
29.12.2013, 12:41 | #5 | |
Senior Member
Регистрация: 04.01.2013
Адрес: Москва
Сообщений: 461
Вес репутации: 1152 |
Re: I2C на GPIO 7 и 29
Не надо, если они «пустые» http://wiki.openwrt.org/toh/tp-link/...adding.i2c.bus
Цитата:
|
|
29.12.2013, 19:53 | #6 |
Senior Member
|
Re: I2C на GPIO 7 и 29
Прошил заново ATTITUDE ADJUSTMENT (12.09, r36088). Всё установилось. Время загрузки увеличилось на 20 секунд, видимо, из-за сканирования шины i2c, судя по терминалу загрузки:
Код:
[ 39.540000] Custom GPIO-based I2C driver version 0.1.1 [ 39.540000] i2c-gpio i2c-gpio.0: using pins 7 (SDA) and 29 (SCL)
__________________
Россия навсегда! |
30.12.2013, 23:13 | #7 |
Senior Member
|
Re: I2C на GPIO 7 и 29
Всё спаял и косяк - i2cdetect и прочие утилиты работают только до адреса 0x77, а у DS1307 адрес начинается с 0xD0. Дела, придётся считывать всё скриптами вручную. Странное ограничение у i2c-tools.
Я ошибся, часики заработали. Адрес 0x68. Сначала я подтянул резисторы к 5 В, но ничего не считывалось, потом подтянул к 3,3 В, вроде стало считываться и записываться (нужно записать 0 по адресу 0x00: i2cset -y 0 0x68 0x00 0x00, чтобы часики стартовали). Код:
root@OpenWrt:/# i2cdetect -y i2c-gpio0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@OpenWrt:/# i2cget -y 0 0x68 0x00 w 0x0054 root@OpenWrt:/# i2cget -y 0 0x68 0x00 w 0x0059 root@OpenWrt:/# i2cget -y 0 0x68 0x00 w 0x0100 root@OpenWrt:/# i2cget -y 0 0x68 0x00 w 0x0102 root@OpenWrt:/# i2cget -y 0 0x68 0x00 w 0x0104 root@OpenWrt:/#
__________________
Россия навсегда! Последний раз редактировалось uni; 07.01.2014 в 15:00. |
23.04.2014, 23:59 | #8 |
Member
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0 |
Re: I2C на GPIO 7 и 29
после добавления в rc.local строчки insmod i2c-gpio-custom bus0=0,7,29
вот такая ошибка? Custom GPIO-based I2C driver version 0.1.1 [ 53.770000] i2c-gpio: probe of i2c-gpio.0 failed with error -16 |
24.04.2014, 00:29 | #9 |
Senior Member
|
Re: I2C на GPIO 7 и 29
Я не знаю кодов ошибок. Здесь исходник нужен, чтобы понять что это означает. Я забил на i2c, т.к. уж очень трудно подпаяться к площадкам в нужных местах. Чуть перегрел и всё отвалилось.
__________________
Россия навсегда! |
24.04.2014, 01:13 | #10 |
Member
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0 |
Re: I2C на GPIO 7 и 29
ясненько, буду копать)
хотя два дня назад все норм запустилось, обе линии определились, а вот сегодня одна из них отвалилась от платы, пришлось перепаться, можеть чего пригрел=) завтра посмотрю ps тешусь надеждой подключить дисплей через i2c кстати никто не знает, где почитать подробнее про работу i2c-tools в openWRT, список команд и тп? pps i2c возник потому что ds1820 не хочет работать с usb-uart, хотя последний и определяется и digitemp запускается и searching 1-wire, но не находит, возможен вариант, что и сам ds1820 исдох после бесчисленных опытов=) |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|