这篇文档主要介绍如何在Ubuntu下使用SPI
使能SPI
默认SPI是失能的。如果需要使用SPI,可以通过overlays功能使能。
khadas@Khadas:~$ sudo vim /boot/env.txt
修改overlays部分,移除pwm_f和uart3, 打开SPI。
1 | overlays=uart3 pwm_f i2c3 os08a10 --> overlays=i2c3 os08a10 spi1 |
Overlays文档请参考 –> 如何使用Device Tree Overlay
重启,SPI就会使能了。
连线
1 | SPI |
简单测试
SPI默认配置一个回环测试设备。
khadas@Khadas:~$ ls /dev/spidev1.1
/dev/spidev1.1
- 获取测试代码
khadas@Khadas:~$ wget https://raw.githubusercontent.com/yan-wyb/source/master/c%26c%2B%2B/embedded/app/spi/spi_test/spidev_test.c
- 编译测试代码
khadas@Khadas:~$ gcc -o spidev_test spidev_test.c
- 短接PIN35和PIN37
短接MISO和MOSI,形成回环,自发自收
- 测试
khadas@Khadas:~$ cat ./spi_in.txt Amazing Khadas! khadas@Khadas:~$ khadas@Khadas:~$ ./spidev_test -i spi_in.txt -o ./spi_out.txt spi mode: 0x0 bits per word: 8 max speed: 500000 Hz (500 KHz) khadas@Khadas:~$ cat ./spi_out.txt Amazing Khadas!