OrangePi 香橙派 开启 I2C 和 SPI

本文详细介绍如何在Orangepi-PC香橙派上启用全部I2C和SPI接口,包括必要的硬件和软件准备、安装git和libusb、下载并编译sunxi-tools、修改script.fex文件以启用所有I2C和SPI设备,以及重启系统后的验证步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬件准备:Orangepi-PC 香橙派 (早期的型号,1G RAM ,资源还是很丰富的)

软件准备:Debian_jessie_mini.img (来自官网的系统),MobaXterm

Orangepi-PC 香橙派 默认开启I2C-0和spidev0,如果你有多个设备,可能就有些不太方便了,下面我们来开启全部的I2C和SPI。

首先,安装git和libusb

apt-get install git libusb-1.0

然后下载sunxi-tools并编译

git clone git://github.com/linux-sunxi/sunxi-tools.git
cd sunxi-tools
make

再ls查看你就会看见fex2bin 和 bin2fex了

将script.bin复制到当前目录下

cp /media/boot/script.bin ./

再将script.bin转成fex格式

./bin2fex script.bin > ./script.fex

其实script.fex就是文本文件,用记事本打开,找到如下字段并修改

[boot_init_gpio]
used = 0
gpio0 = port:PA15<1><default><default><1>
gpio1 = port:PG11<1><default><default><1>
[twi0]
twi_used = 1
twi_scl = port:PA11<2><default><default><default>
twi_sda = port:PA12<2><default><default><default>

[twi1]
twi_used = 1
twi_scl = port:PA18<3><default><default><default>
twi_sda = port:PA19<3><default><default><default>

[twi2]
twi_used = 1
twi_scl = port:PE12<3><default><default><default>
twi_sda = port:PE13<3><default><default><default>
[spi1]
spi_used = 1
spi_cs_bitmap = 1
spi_cs0 = port:PA13<2><1><default><default>
spi_sclk = port:PA14<2><default><default><default>
spi_mosi = port:PA15<2><default><default><default>
spi_miso = port:PA16<2><default><default><default>

[spi_devices]
spi_dev_num = 2

为了启用SPI1,还需要添加一段

[spi_board1]
modalias = "spidev"
max_speed_hz = 33000000
bus_num = 1
chip_select = 0
mode = 0
full_duplex = 1
manual_cs = 0

将修改过的script.fex转回script.bin并放回原处

./fex2bin script.fex > ./script.bin
cp ./script.bin /media/boot/

最后,重启系统,就可以看到全部的I2C和SPI都启用了

root@OrangePI:/home# ls /dev |grep i2c
i2c-0
i2c-1
i2c-2
root@OrangePI:/home# ls /dev |grep spi
spidev0.0
spidev1.0

 

香橙(Orange Pi Zero2W)是一款基于Allwinner H3芯片的开源单板电脑,它支持SPI接口连接外部显示模块,比如ST7789驱动的彩色液晶屏。以下是点亮ST7789屏幕的基本步骤: 1. **硬件连接**: - 将香橙的GPIO针脚(通常IO4~IO7作为SPI数据线,IO0~IO3作为CS、RSTDC控制线)分别连接到ST7789屏幕对应引脚上。 - 确保VCC连接电源,GND接地。 2. **软件配置**: - 使用Linux系统(例如Raspbian Lite for Orange Pi Zero),安装必要的库文件,如`python-spi`,可以使用`sudo apt-get install python-spi`命令。 - 导入相关的Python库,如`RPi.GPIO`(用于GPIO操作)`spidev`(用于SPI通信)。 3. **编写代码**: ```python import spidev import RPi.GPIO as GPIO # 初始化GPIOSPI spi = spidev.SpiDev() spi.open(0, 0) # 设定设备编号通道 GPIO.setmode(GPIO.BCM) # 设置GPIO模式 GPIO.setup(4, GPIO.OUT, initial=GPIO.LOW) # DC信号 GPIO.setup(5, GPIO.OUT, initial=GPIO.HIGH) # CS信号 GPIO.setup(6, GPIO.OUT, initial=GPIO.LOW) # RST信号 def set_dc(dc_value): GPIO.output(4, dc_value) def send_data(data): spi.writebytes(data) # 启动LCD初始化序列(替换为ST7789的初始化函数) def init_lcd(): send_data([# ST7789初始化命令列表...]) init_lcd() # 显示图像(替换为发送实际像素数据的函数) def display_image(image_data): send_data(image_data) # 示例中仅做基本演示,实际应用需根据ST7789的具体规格调整参数 image_data = ... # 加载你的图像数据 display_image(image_data) # 关闭SPI清理GPIO spi.close() GPIO.cleanup() ``` 记得替换上述代码中的初始化序列显示图像数据部分,它们通常需要查阅ST7789的数据手册。运行这段代码后,你应该能看到LCD屏幕上显示出内容。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鹏集成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值