Yazılım 3.18.x, I²C, SPI, ses, lirc, 1 telli (örn. / Dev / i2c-1, Böyle bir dosya veya dizin yok)


19

Bright Pi modülünü kontrol etmek için I²C kullanıyorum .

I²C'yi kurmak için ' GPIO - Adafruit'i Yapılandırma ' ve ' I²C - Adafruit'i Yapılandırma ' talimatlarını izledim . Bunu birkaç ay önce yaptım ve her şey yolunda gitti.

Raspberry Pi (Model B) üzerinde Parlak Pi'yi böyle bağladım:

Devre Parlak Pi

Bugün I²C'nin eskiden olduğu gibi çalışmadığını fark ettim. ' Sudo i2cdetect -y 1 ' ve ' sudo i2cset -y 1 0x70 0x00 0xff ' gibi komutları kullanmak hatayı verir:

'/ Dev / i2c-1' veya '/ dev / i2c / 1' dosyası açılamadı: Böyle bir dosya veya dizin yok

' Sudo i2cdetect ' komutunu kullanmak hatayı verecektir.

İ2c veri yolu belirtilmedi!

yani i2c-dev çalışıyor.

'/ Etc / modules' dosyası şöyle görünür:

#/etc/modules: kernel modules to load at boot time. 
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

snd-bcm2835
i2c-dev
i2c-bcm2708

'/Etc/modprobe.d/raspi-blacklist.conf' dosyası şöyle görünür:

blacklist spi and i2c by default (many users don't need them)

#blacklist spi-bcm2708
#blacklist i2c-bcm2708
blacklist snd-soc-pcm512x
blacklist snd-soc-wm8804

Gerekli tüm modülleri yeniden yüklemeyi denedim, ama bu da yardımcı olmadı. Ayrıca apt-get updateve apt-get upgradeyardımcı olmadı.

' Lsmod | grep i2c 'bunu gösterir:

i2c_bcm2708          6004  0   
i2c_dev              6709  0

Garip, çünkü daha önce çalışıyordu. Raspberry Pi'm garip çekirdek hataları gösterdiğinden, iki gün önce bir ürün yazılımı güncellemesi yaptığımdan beri "bozuk" olduğunu düşünebilirim.

I²C ile sorunu nasıl düzeltebilirim?

Yanıtlar:


35

En son ürün yazılımı, aygıt ağacı desteğini uygular . Bu I²C, SPI ve 1 telli otobüs gibi şeyleri kırmış olacak.

Daha ayrıntılı bilgi için bkz. I²C, SPI, I2S, LIRC, PPS, çalışmayı durdurdu mu? Oku bunu. .

özet

Add one or more of the following to your /boot/config.txt and reboot.

I2C
No longer add: dtparam=i2c1=on (or dtparam=i2c0=on on old models)
Instead add: dtparam=i2c_arm=on (as this is correctly mapped to 0 or 1 for each model)
A very few users might need: dtparam=i2c_vc=on (for the other i2c interface - see note below)

SPI
Add dtparam=spi=on

I2S
Add dtparam=i2s=on

lirc-rpi
Add dtoverlay=lirc-rpi
Add module parameters to the end of the dtoverlay line,
e.g. dtoverlay=lirc-rpi,gpio_in_pin=16,gpio_in_pull=high

w1-gpio
If you require the external pullup
dtoverlay=w1-gpio-pullup,gpiopin=x,pullup=y
otherwise
dtoverlay=w1-gpio-pullup,gpiopin=x
(where x and y are gpios).

Audio card
Add one of the following
dtoverlay=hifiberry-dac
dtoverlay=hifiberry-dacplus
dtoverlay=hifiberry-digi
dtoverlay=iqaudio-dac
dtoverlay=iqaudio-dacplus

heartbeat LED
dtparam=act_led_trigger=heartbeat

Not: Gerçekten i2c_vc (ve i2c_vc_baudrate) kullanmanız önerilir - örneğin, bir HAT EEPROM programlıyorsanız. İ2c_vc'nin etkinleştirilmesi Pi Kamera'nın algılanmasını durdurabilir.


Siz efendim, benim kahramanımsınız! Bu benim I2C'mi düzeltti.
LittleOne

7

Sen kullanabilirsiniz sudo raspi-configve Gelişmiş Seçenekler devre dışı Aygıt Ağacında. Yapılandırmayı manuel olarak değiştirmekten daha hızlı olabilir.


1

Veya sudo raspi-configI2C'yi etkinleştirmek için

Advanced Options> I2C.

raspi-config20160108, Ocak 2016 sürümü veya sonraki sürümlerdeki düzen için

Interfacing Options> I2C.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.