Loading…

라즈베리 파이 3 spi 통신 예제

다른 SPI 장치가 다르게 작동하고 다른 데이터를 전송해야 할 수 있지만 SPI 통신 구조 내에 남아 있으므로 SPI 버스에서 데이터를 송수신하는 방법을 이해하면 해당 장치에 따라 모든 장치를 제어할 수 있습니다. 데이터 시트를 참조하십시오. Sparkfun LED 매트릭스의 데이터시트는 여기에서 확인할 수 있습니다. 우리의 I2C 튜토리얼에서와 같이, 아두 이노 특정 콘텐츠로 이동하기 전에, 일반적인 의미에서 SPI 통신의 안팎을 커버 하는 SPI와 아두 이노 튜토리얼을 살펴. 최근 라즈베리 파이 릴리스에서 리눅스 커널 기본 장치로 SPI를 지원 (더 이상 비트 두드리는!) 하지만 그것은 기본적으로 비활성화, 그래서 우리는 SPI 장치를 사용할 수 있습니다 전에 모듈을 로드 해야. 또한 우리는 우리가 루트 또는 sudo로 실행할 필요없이 밖으로 프로그램에서 액세스 할 수 있도록 / dev / 에서 파일의 권한 및 / 또는 소유권을 변경해야 할 수도 있습니다. 이것은 라즈베리 파이에 대 한 C 라이브러리 (RPi). 브로드컴 BCM 2835 칩에서 GPIO 및 기타 IO 기능에 대한 액세스를 제공합니다. 하드웨어 레지스터에 직접 액세스합니다. 남용은 아마도 여기에 가혹한 단어, 하지만 SPI에 대 한 설계 되지 않은 것 들에 대 한 SPI 버스를 사용할 수 있습니다-한 가지 예는 시프트 레지스터. 그냥 시계와 MOSI 출력을 사용하고, SPI 장치에 한 번에 바이트를 작성합니다.

또 다른 용도는 합리적인 가격으로 사용할 수있는 데이지 체인 LED 문자열입니다 – 당신은 1000 개 이상의 LED의 문자열을 나타낼 수있는 한 번에 4096 바이트까지 보낼 수 있습니다, 각각 3 바이트 값을 수락, 다음 일시 정지 (일반적으로 500μS) 장치가 p를 표시할 수 있도록 애터른. 나는 라즈베리 파이 보드를 사용할 수 있음을 나타내는 금요일에 뉴 어크에서 메시지를 받았다. 아마도 너무 오래 전에 나는이 정보를 잘 사용할 수 있습니다. 그때까지 는 라이브러리 파일을 살펴보고 무엇을 배울 수 있는지 살펴보겠습니다. 라즈베리 파이만이 시간에 마스터 모드를 구현 하 고 2 칩 선택 핀, 그래서 제어할 수 있습니다 2 SPI 장치. (일부 장치에는 자체 하위 주소 지정 체계가 있으므로 동일한 버스에 더 많은 장치를 배치할 수 있습니다.) 라즈베리 파이 에 하드웨어를 연결 하 고 프로젝트에 대 한 영감에 대 한 자세한 내용은, 체크 아웃 다음 가이드: 라즈베리 파이에 BCM2835는 3 SPI 컨트롤러. 주요 SPI(슬레이브 선택 2개 포함)는 Linux 커널 이지원으로 모든 Pis의 헤더에서 사용할 수 있습니다. 두 번째 SPI(최대 3개의 슬레이브 선택 옵션)는 40핀 버전의 Pis에서 사용할 수 있으며 Raspbian Jessie 2016-05-10 배포판의 커널 지원이 제공됩니다. 이러한 방법 간의 기능과 차이점에 대해 논의하기 전에 몇 가지 일반적인 통신 용어와 정의를 살펴보겠습니다.

나는 SPI를 포함하도록 요청했습니다 (그리고 I2C – 곧 더 많은) 내 배선에 라즈베리 파이에 대한 지원피 … 그러나 어떤 SPI 장치를 연결할 지 정확히 예측하기가 어렵기 때문에 특정 기능을 제공하기가 어렵기 때문에 라이브러리에서 몇 가지 “도우미”함수와 SPI 사용 방법에 대한 가이드를 제공합니다. I2C는 양방향, 동기식, 직렬 통신 인터페이스입니다. 반이중 모드에서 두 줄로 작동하는 경우. 그것은 원래 나중에 NXP 반도체가되었다 필립스 반도체에 의해 만들어진. 단일 마스터(RPi)는 하나 이상의 슬레이브 장치와 통신할 수 있습니다.