Yanıtlar:
Burada RPi'nin GPIO'su hakkında birçok bilgi var: http://elinux.org/Rpi_Low-level_peripherals
Buna göre I²C için herhangi bir GPIO pinini programlayabilirsiniz, ancak:
Pin 3 (SDA0) ve Pin 5 (SCL0), bir I²C arayüzü olarak kullanılmak üzere önceden ayarlanmıştır. Yani bu pinler için tahta üzerinde 1.8 kilometrelik dirençler var.
Bu wiki sayfasında ayrıca, başlamanız gereken çeşitli diller için bazı düşük düzey GPIO kod örnekleri vardır. I²C'nin gerçekte ne olduğu hakkında bir tazeleme ihtiyacınız varsa, işte RPI'yi dikkate alan bir tazeleme.
Spesifik I²C kontrolü için, bu python kütüphanesi yardımcı olabilir , bir kod örneği içeren bu blog yazısında tartışılmıştır .
Bununla ilgili birçok tartışma oluyor. İşte okuduğum ve uğraştığım şeyin bana gösterdiği şey:
/etc/modprobe.d/raspi-blacklist.conf
girişini düzenleyip yorumluyorsunuz i2c-bcm2708
; sonra düzenleyin /etc/modules
ve ekleyin i2c-dev
; sonra yeniden başlatın. Şimdi, /dev/i2c-0
kullanımı çok kolay olan özel bir dosyaya sahip olmalısınız .
İşte yaptığım bazı örnekler
Donanım:
Tapio tarafından belirtildiği gibi, donanım http://elinux.org/Rpi_Low-level_peripherals adresinde iyi belgelenmiştir.
Yazılım:
Linux kullanıcı alanında ( #include <linux/i2c-dev.h>
) bir i2c-dev başlığı var . Ayrıca okumak için bir karakter decive gerekir. Bu, doğru modüller yüklenerek yapılabilir. i2c_bcm2708
Düşük seviyeli sürücü i2c-dev
için ve otobüslerde karakter aldatmaları için. Uygulamak ...
sudo modprobe -r i2c_bcm2708
sudo modprobe i2c_bcm2708 baudrate=<your preferred baudrate>
onları anında yüklemek için. Uygulamak ...
sudo sh -c 'echo "i2c-dev" >> /etc/modules'
sudo sh -c 'echo "options i2c_bcm2708 baudrate=<your preferred baudrate>\n" > /etc/modprobe.d/custom.conf
ve unblacklist i2c_bcm2708
içinde /etc/modprobe.d/raspi-blacklist.conf
yapmak /dev/i2c-0
ve /dev/i2c-1
kalıcı görünür.
Artık I²C del maestro'nun nasıl kullanılacağına dair ipuçlarını takip edebilirsiniz .
Bu metodu diğerlerine tercih ederim, çünkü platformagnostic. linux/i2c-dev.h
Düşük seviye I²C sürücüsü olduğu sürece, diğer cihazlarla da kullanabilirsiniz .
Saygılarımızla