Raspberry pi3树莓派3,Archlinux系统下安装spi液晶屏幕,使用fbtft驱动显示

买了一块ili9341芯片的2.8寸的320x240的spi液晶屏幕,打算连接树莓派玩玩,主要步骤参考了fbtft的说明,参见https://github.com/notro/fbtft/wiki

首先打开树莓派的spi接口:

在/boot/config.txt中加入

dtparam=spi=on

然后连线,LCD屏幕的的MOSI,CLK连接树莓派的spi对应gpio,LCD的RESET连接gpio25,LCD的DC连接gpio24。上电开机,运行

modprobe fbtft_device name=tm022hdh26 rotate=90 fps=15

其中rotate=90是让屏幕旋转90度,fps是帧率

使用

FRAMEBUFFER=/dev/fb1 startx

启动X桌面,我不用X桌面,所以没实验桌面显示效果,我基本只使用控制台。

树莓派的Archlinux我没搞定yaourt,所以没有con2fbmap,只好到Archlinux的官网直接下载了con2fbmap

参见地址:https://aur.archlinux.org/packages/con2fbmap/

需要用git

git clone https://aur.archlinux.org/con2fbmap.git

然后

cd con2fbmap

makepkg

pacman -U con2fbmap-XXXX.pkg.tar.xz

就安装好了con2fbmap

然后使用con2fbmap将控制台1映射到/dev/fb1显示(modprobe fbtft_device后会多出/dev/fb1这个设备),使用命令

con2fbmap 1 1

这时候就会在spi LCD上显示出图像了。当然除了con2fbmap也可以使用fbcp,直接将fb0上的图像复制到fb1上。

为了方便可以做一个脚本:

#!/bin/bash

modprobe fbtft dma

sleep 1

modprobe fbtft_device name=tm022hdh26 rotate=90 fps=15

sleep3

con2fbmap 4 1

clear

然后使用systemd每次开机自动运行。