Processor
【라즈베리파이】 wiringPi Python : SPI 테스트
작성자 임베디드코리아
작성일26-02-20 00:49
조회103회
댓글0건
■ SPI(Serial Peripheral Interface)
CPU같은 주인(master)이 여러 주변 장치와 대화할 때 사용한다.
▷ 4개의 선을 주로 사용한다. CS, SCLK, MOSI, MISO
▷ CS는 슬레이브를 선택하는 신호이다.
▷ SPI는 여러 슬레이브와 통신이 가능하므로 각 슬레이브마다 CS 핀을 다르게 연결하여 충돌을 방지한다.
▷ 하나를 선택할 때, Low로 내린다.
■ 통신 순서
(1) master에서 클럭 신호를 보낸다.
(2) 선택할 슬레이브의 CS에 LOW 신호를 보내 활상화한다.
(3) 클럭 신호에 맞추어 MOSI를 전송한다 .
(4) MISO로 데이터 반환.
--->>> 예제 : SPI_test.py mosi와 miso의 번호는 9번 10번 <<<------------------
import spidev
import time
spi = spidev.SpiDev()
spi.open(0, 0)
spi.max_speed_hz = 100000
def BytesToHex(Bytes):
return ''.join(["0x%02X " % x for x in Bytes]).strip()
try:
while True:
resp = spi.xfer2([0x10, 0x2F])
print(BytesToHex(resp))
time.sleep(1)
except KeyboardInterrupt:
spi.close()