i2cdetect показывает все возможные адреса

13

Я пытался включить I2C, следуя этому руководству http://www.raspberrypi-spy.co.uk/2014/11/enabling-the-i2c-interface-on-the-raspberry-pi/

Но у меня есть проблема, которую я не могу решить. Команда i2cdetect -y 1возвращает

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a UU 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77

Я не знаю, почему он показывает все адреса и как я могу это исправить. Я ничего не подключал к своему Raspberry Pi. Я только что положил SD-карту и установил ОС по умолчанию с помощью NOOBS. Но когда появилась проблема, я подключил свой RTC DS1307, но это не повлияло на вывод i2cdetect.

WJA
источник
Контакт 3 был ответом для меня. У меня был светодиод на контакте 3, и когда я переместил его, интерфейс очистился.
SaintMulligan

Ответы:

16

Как правило, это происходит потому, что что-то тянет SDA (контакт 3) на низком уровне.

Программа i2cdetect проверяет наличие устройства, отправляя его адрес, затем позволяя SDA иметь высокий уровень. Если устройство существует, оно должно вывести SDA на низкий уровень, чтобы сигнализировать о его наличии.

Проверьте проводку, чтобы убедиться, что SDA не был случайно подключен к земле.

Джоан
источник
Я использовал мультиметр, помещая первый измерительный провод на SDA и второй измерительный провод на GND. Я обнаружил, что между ними есть связь. Это неправильно?
WJA
Проверьте напряжение между контактом 3 и контактом 6 (масса). Следует читать 3V3. Если это не так, то что-то не так. У вас есть что-нибудь подключенное к разъему расширения, например, ленточный кабель?
Джоан
Между контактами 3 и 6 это 0,06 В. У меня ничего нет к моему устройству.
Wja
Я бы исследовал дорожки печатной платы, чтобы увидеть, есть ли паяный мост. У вас установлена ​​библиотека gpio? Вывод 3 будет показывать низкий уровень, если он активно находится на низком уровне, но по умолчанию он должен быть высоким.
Джоан
Печатная плата выглядит хорошо. У меня свежий Raspbian с обновлениями. Я думал, что библиотека gpio требуется, только если я хочу написать код на Python. Должен ли я установить python-rpi.gpio? А может, есть другая библиотека gpio?
Wja
1

Исправил мой PI-ноль ... Рядом с SDA (контакт 3) и слотом для SD-карты есть два резистора, дотронулся до соединений паяльником и теперь работает.

Питер
источник
0

В моем случае это произошло из-за того, что было сломано устройство i2c (я случайно подключил его обратно к напряжению / заземлению)

Попробуйте использовать другое устройство i2c

qewg
источник