下载SPI驱动LCD例程 (提取码 jwz0)
1】引脚连接图:
pico引脚图
pico-plus引脚图
lcd模块与pico pico-plus引脚连接图
2】使用自己编译的镜像:(可选)
修改设备树:
需要添加 LCD 相关的引脚定义在设备树中,并启用 SPI 功能。
设备树文件的路径:
Luckfox Pico:<SDK目录>/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico.dts
Luckfox Pico Plus:<SDK目录>/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico-plus.dts
定义GPIO:
定义一个 GPIO,通常需要添加两段代码。注意按键为低电平有效,需要上拉。以下是一个示例,展示如何在设备树中添加 GPIO1_C7_d 引脚的定义。
gpio1pc0:gpio1pc0 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&gpio1_pc0>;
regulator-name = "gpio1_pc0";
regulator-always-on;
};
&pinctrl {
注释引脚的外设功能:
注释引脚外设功能可以通过在设备树中将相应的外设节点注释来实现,以下是一个示例,展示如何在设备树中禁用 GPIO1_C7_d 引脚的 PWM 功能。
配置SPI:
在配置 SPI 时,GPIO1_C2_d 作为 LCD 的复位引脚,我们需要将其配置为普通的IO,所以在这里不将其配置为 SPI 的 MISO 引脚,如下图所示(请查看第208行的注释)。为了让 SPI 正常工作,你还需要在设备树中配置 SPI 控制器并定义所需的 SPI 引脚。以下是一个示例,展示如何在设备树中配置SPI:
&pinctrl {
spi0 {
/omit-if-no-ref/
spi0m0_pins: spi0m0-pins {
rockchip,pins =
/* spi0_clk_m0 */
<1 RK_PC1 4 &pcfg_pull_none>,
/* spie_miso_m0 */
<1 RK_PC3 6 &pcfg_pull_none>,
/* spi_mosi_m0 */
<1 RK_PC2 6 &pcfg_pull_none>;
};
};
};
编译内核:
编译选择分支 ./build.sh lunch
选择0即编译pico相关镜像;
选择1 即编译pico-plus相关镜像;
一键编译或只编译内核:
一键编译 ./build.sh
编译内核 ./build.sh kernel
3】使用预配置镜像(可选)
下载SPI驱动LCD例程 (提取码 jwz0)
4】 烧写镜像:
5】下载例程包(提取码 jwz0)把c文件夹传到pico开发板:
adb push Pico_LCD_Module_Code\Luckfox_Pico\c /
6】给予权限并运行main程序:
给予可执行权限 chmod -R x ./c
根据LCD大小运行main程序 ./main 0.96
7】实现效果:
Other】SPI驱动LCD代码结构讲解: