반응형

SPI는 디폴트로 활성화가 안되어 있기 때문에 raspi-config 명령을 이용하여 활성화 시켜주는 작업이 필요합니다.

1
pi@raspberrypi:~ $ sudo raspi-config
cs

"7 Adavnced Options"를 선택합니다.


"A6 SPI"를 선택합니다.


Yes를 선택합니다. 잠시후 SPI가 활성화 되었다는 메시지가 보입니다.


Finish를 선택하여 설정 프로그램에서 빠져나옵니다.


태스트에 사용할 spidev_test.c 파일을 다운로드 받습니다.

1
pi@raspberrypi:~ $ wget https://raw.githubusercontent.com/opennetworklinux/linux-3.8.13/master/Documentation/spi/spidev_test.c
cs

편집기로 열어서 1.1을 지우고 

1
static const char *device = "/dev/spidev1.1";
cs

0.0으로 다시 적습니다.
1
static const char *device = "/dev/spidev0.0";
cs

컴파일 후, 실행시켜보면 00만 출력됩니다.spi에 연결된 디바이스가 없기 때문입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
pi@raspberrypi:~ $ gcc spidev_test.c 
pi@raspberrypi:~ $ ./a.out 
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)
 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 
cs

  

SPI 출력을 SPI 입력으로 연결하기 위해 19번핀과 21번핀을 연결해줍니다.


spi 출력으로 보내졌던 데이터를 spi입력에서 받아서 아래처럼 값을 출력해줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
pi@raspberrypi:~ $ ./a.out 
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)
 
FF FF FF FF FF FF 
40 00 00 00 00 95 
FF FF FF FF FF FF 
FF FF FF FF FF FF 
FF FF FF FF FF FF 
DE AD BE EF BA AD 
F0 0D 
cs

위에서 출력된 값은 spidev_test.c 를 열어보면 출력을 위해 배열에 저장했던 값임을 알 수 있습니다.


반응형

진행해본 결과물을 기록 및 공유하는 공간입니다.
잘못된 부분이나 개선점을 알려주시면 반영하겠습니다.


소스코드 복사시 하단에 있는 앵커 광고의 왼쪽 위를 클릭하여 닫은 후 해야 합니다.


문제가 생기면 포스트와 바뀐 환경이 있나 먼저 확인해보세요.
질문을 남겨주면 가능한 빨리 답변드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

TistoryWhaleSkin3.4">