내 보드에서 SPI를 작동시키려고 합니다. 이것이 내가 생각해낸 것입니다:
- SPI는 armbian에서 기본적으로 활성화되어 있지 않습니다. 먼저 활성화해야 합니다(해당 DT 오버레이 활성화).
- Linux에서는 /dev/spidev*.* 파일을 통해서만 SPI에 액세스할 수 있습니다.
- dev 폴더에 spi 장치가 표시되지 않으면 내 보드에서 SPI가 활성화되지 않은 것입니다.
- 최신 버전의 armbian spi에서는 armbain-config(System/Hardware/spi-spidev 아래)에서 활성화할 수 있습니다.
/boot/script.bin
이전 버전에서는 fex 파일로 디컴파일하고 거기에서 SPI를 활성화한 후 다시 컴파일해야 했습니다.
Armbian Bionic을 새로 설치하고(이전에 Stretch도 시도했습니다) 업데이트하고 spi-spidev를 활성화하고 보드를 다시 시작했지만 여전히 spidev 파일이 없습니다.
이 내 꺼야armbianmonitor
통나무. SPI가 활성화되어 있는지 확인하는 방법은 다음과 같습니다.
dima@orangepipcplus:~$ cat /boot/armbianEnv.txt
verbosity=1
logo=disabled
console=both
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
rootdev=UUID=09e9478d-c7f2-4b16-a2d7-66f5313ff813
rootfstype=ext4
overlays=spi-add-cs1 spi-jedec-nor spi-spidev
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
dima@orangepipcplus:~$ ls /dev/*spi*
ls: cannot access '/dev/*spi*': No such file or directory
그런데 제 목표는 nrf24l01 통신으로 스마트 홈 프로젝트를 만드는 것인데, 스크립트 오류가 나서 멈췄습니다 could not open /dev/spidev0.0
(완전히 붙여넣지 못함)
그래서 내 질문은 다음과 같습니다/dev/spidev*.*
파일이 나타나 도록 spi를 어떻게 활성화합니까 ?
답변1
좋아, 이건 정말 멍청한 짓이야. 난 그냥 읽어봐야 해장치 트리 오버레이주의 깊은.
필수 SPI 매개변수를 설정하지 않았습니다 param_spidev_spi_bus
. 이것이 내가 armbianEnv.txt
지금 가지고 있는 것입니다:
verbosity=1
logo=disabled
console=both
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
rootdev=UUID=09e9478d-c7f2-4b16-a2d7-66f5313ff813
rootfstype=ext4
overlays=spi-spidev
param_spidev_spi_bus=0
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
알아채다암바인 구성이 매개변수가 설정되지 않았으므로 SPI는 이 도구만으로는 작동하지 않습니다. 그래서 지금은 직접 편집하는 것이 더 쉬울 것입니다 armbianEnv.txt
.
답변2
나는 오렌지 파이 라이트를 가지고 있다앰비안일부 센서에서 데이터를 검색하는 MCP3208 아날로그-디지털 변환기가 있습니다. Rattrapper가 말한 대로 했지만 제 경우에는 SPI 인터페이스가 작동하지 않습니다. 나는 마침내 다음과 같이 이 문제를 해결했습니다.
- 명령줄에서:
sudo armbian-config -> system -> hardware -> enable spi-spidev
param_spidev_spi_bus = 0
/boot/armbianEnv.txt 파일에서 rattraper가 설명하는 대로 SPI 매개변수를 확인하십시오 . spi-spidev는 오버레이로 작성되어야 합니다.- 다음 명령을 사용하여 spidev 라이브러리가 설치되었는지 확인하십시오.
sudo pip3 install spidev
- 마지막으로 스크립트에서 spidev 라이브러리를 가져와야 합니다.
import spidev
이것은 나에게 효과가 있었으므로 당신에게도 효과가 있기를 바랍니다.