Atmega128의 SPI에 대해 간단히 설명하고 포스트 끝에 마스터와 슬레이브 예제를 제공합니다. 2016. 6. 29 최초작성 2021. 7. 18 최종작성 SPI (Serial Peripheral Interface)를 사용하면 AVR과 주변 장치 간 또는 여러 AVR 장치간에 고속 동기 데이터 전송이 가능합니다. 두 개의 장치가 SPI 통신을 하는 경우 한대는 마스터 장치가 되며 다른 한대는 슬레이브 장치가 됩니다. 하나의 마스터 장치가 여러 대의 슬레이브 장치와 통신이 가능하지만 동시에는 일대일 통신만 가능합니다. 두 대 이상의 마스터 장치가 슬레이브 장치와 연결될 수 도 있지만 이때 주의점은 동시에 두 대 이상의 마스터 장치가 SPI 통신을 시작하지 않도록해야 합니다. 센서 같은 주변 장치의 경..
라즈베리파이에서 디폴트로 SPI가 비활성화 되어있기 때문에 활성화 시켜주는 작업이 필요합니다. 다음 포스팅을 참고하세요..[임베디드/Raspberry Pi] - Raspberry Pi 2/3에서 SPI 사용하기 라즈베리파이 보드와 아두이노를 다음처럼 연결해줍니다.Raspberry Pi 2/3 Arduino UNO (MOSI) 19 ------ 11(MOSI)(MISO) 21 ------ 12(MISO)(SCK) 23 ------ 13(SCK) GND 6 ------ GND 아두이노 IDE에 다음 코드를 복사한 후, 아두이노에 업로드 시켜줍니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495..
SPI는 디폴트로 활성화가 안되어 있기 때문에 raspi-config 명령을 이용하여 활성화 시켜주는 작업이 필요합니다.1pi@raspberrypi:~ $ sudo raspi-configcs "7 Adavnced Options"를 선택합니다. "A6 SPI"를 선택합니다. Yes를 선택합니다. 잠시후 SPI가 활성화 되었다는 메시지가 보입니다. Finish를 선택하여 설정 프로그램에서 빠져나옵니다. 태스트에 사용할 spidev_test.c 파일을 다운로드 받습니다.1pi@raspberrypi:~ $ wget https://raw.githubusercontent.com/opennetworklinux/linux-3.8.13/master/Documentation/spi/spidev_test.ccs편집기로 열어..
아래 처럼 두 보드를 연결해주었습니다.. raspberry pi 2/3 Atmega128 (MOSI) 19 ------ PB2(MOSI)(MISO) 21 ------ PB3(MISO)(SCK) 23 ------ PB1(SCK) (CS0) 24 ------ PB0 GND 6 ------ GND 라즈베리파이에서 SPI를 활성화 시키기 위해서는 다음 포스팅을 참고하세요..[임베디드/Raspberry Pi] - Raspberry Pi 2/3에서 SPI 사용하기 라즈베리파이에서 데이터를 보내면... AVR과 연결된 피시의 시리얼 터미널에서 데이터가 들어온 것을 볼 수 있습니다.. 다음은 각각 Atmega128을 위한 슬레이브 SPI 코드 및 라즈베리파이에서의 SPI 코드입니다..1234567891011121314..
현재 설치되어 있는 커널의 버전은 다음과 같습니다. root@beaglebone:~# uname -a Linux beaglebone 3.8.13-bone70 #1 SMP Fri Jan 23 02:15:42 UTC 2015 armv7l GNU/Linux 아래 내용으로 BB-SPI0DEV-00A0.dts 파일을 작성합니다. root@beaglebone:~# nano BB-SPI0-01-00A0.dts/dts-v1/; /plugin/; / { compatible = "ti,beaglebone", "ti,beaglebone-black"; /* identification */ part-number = "spi0pinmux"; fragment@0 { target = ; __overlay__ { spi0_pins_s..