답변:
RPi의 GPIO에 대한 많은 정보가 여기 있습니다 : http://elinux.org/Rpi_Low-level_peripherals
이에 따르면 I²C 용 GPIO 핀을 프로그래밍 할 수 있지만
핀 3 (SDA0) 및 핀 5 (SCL0)는 I²C 인터페이스로 사용하도록 사전 설정되어 있습니다. 따라서이 핀에 대해 보드에 1.8 킬로그램의 풀업 저항이 있습니다.
이 위키 페이지에는 다양한 언어를위한 저수준 GPIO 코드 예제도 있습니다. I²C가 실제로 무엇인지에 대한 정보가 필요하다면 여기 RPi도 고려하십시오.
특정 I²C 제어의 경우이 python 라이브러리 가 도움이 될 수 있습니다 .이 블로그 게시물 ( 코드 샘플 포함)에서 설명합니다.
이에 관한 많은 토론이 있습니다. 내 독서와 엉망으로 나를 보여주는 것은 다음과 같습니다.
/etc/modprobe.d/raspi-blacklist.conf
대한 항목을 편집 하고 주석 처리합니다 i2c-bcm2708
. 그런 다음 편집 /etc/modules
하고 추가하십시오 i2c-dev
. 그런 다음 재부팅하십시오. 이제 /dev/i2c-0
사용하기 매우 쉬운 특수 파일 이 있어야 합니다.
여기 내가 한 몇 가지 예가 있습니다.
하드웨어:
Tapio에서 언급했듯이 하드웨어는 http://elinux.org/Rpi_Low-level_peripherals에 잘 설명되어 있습니다 .
소프트웨어:
Linux 사용자 공간 ( #include <linux/i2c-dev.h>
) 에는 i2c-dev 헤더가 있습니다. 또한 읽을 문자가 필요합니다. 올바른 모듈을로드하면됩니다. i2c_bcm2708
로우 레벨 드라이버와 i2c-dev
버스에 대한 문자 결정을 생성합니다. 적용 ...
sudo modprobe -r i2c_bcm2708
sudo modprobe i2c_bcm2708 baudrate=<your preferred baudrate>
즉시로드 할 수 있습니다. 적용 ...
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
및 unblacklist i2c_bcm2708
에서이 /etc/modprobe.d/raspi-blacklist.conf
만드는 /dev/i2c-0
하고 /dev/i2c-1
영구적으로 표시됩니다.
이제부터는 I²C 델 마에스트로 를 사용하는 방법에 대한 힌트를 따를 수 있습니다 .
이 방법은 플랫폼에 구애받지 않기 때문에 다른 방법보다 선호합니다. linux/i2c-dev.h
저수준 I²C 드라이버가있는 한 다른 장치에서도 사용할 수 있습니다 .
문안 인사