| Глава 3. ОС Линукс - Linux OS
3.31. Как использовать ЖК-дисплей SPI (How to use SPI LCD display) 3.31.1. 2.4-дюймовый ЖК-дисплей SPI (2.4 inch SPI LCD display) 1) Ссылка на страницу сведений о протестированном ЖК-дисплее
2.4inch SPI Module ILI9341 SKU:MSP2402
2) Подключение ЖК-дисплея к плате разработки
Сигнал TFT SPI - № контакта 26-контактного разъема
- VCC - 1
- GND - 6
- CS - 24
- RESET - 7 ( GPIO = PC9 Num = 73 )
- D/C - 11 ( GPIO = PC6 Num = 70 )
- SDI(MOSI) - 19
- SCK - 23
- LED - 13 ( GPIO =PC5 Num = 69 )
- SDO(MISO) - 21
3) После подключения дисплея к плате разработки используйте следующую команду, чтобы
загрузить модуль ядра fbtft_device
root@orangepi:~# modprobe fbtft_device custom name=fb_ili9341 busnum=1 cs=1
gpios=reset:73,dc:70,led:69 rotate=90 speed=65000000 bgr=1 txbuflen=65536
4) Когда модуль ядра fbtft_device загружен, правильный выходной журнал dmesg
команда выглядит так ( буфер кадра, используемый ЖК-дисплеем - fb1):
root@orangepi:~# dmesg | tail
[ 391.862343] spidev spi1.1: dh2228fv spi1.1 16777kHz 8 bits mode=0x00
[ 391.862773] spidev spi1.1: Deleting spi1.1
[ 391.864506] fbtft_device: GPIOS used by 'fb_ili9341':
[ 391.864529] fbtft_device: 'reset' = GPIO73
[ 391.864540] fbtft_device: 'dc' = GPIO70
[ 391.864550] fbtft_device: 'led' = GPIO69
[ 391.864579] spidev spi0.0: dh2228fv spi0.0 16777kHz 8 bits mode=0x00
[ 391.864598] spi spi1.1: fb_ili9341 spi1.1 65000kHz 8 bits mode=0x00
[ 391.883881] fb_ili9341: module is from the staging directory, the quality is unknown,
you have been warned.
[ 392.159982] graphics fb1: fb_ili9341 frame buffer, 320x240, 150 KiB video memory,
64 KiB buffer memory, fps=20, spi1.1 at 65 MHz
5) Затем используйте следующую команду, чтобы отобразить изображение логотипа Orange Pi на ЖК-дисплее
root@orangepi:~# apt update
root@orangepi:~# apt -y install fbi
root@orangepi:~# fbi -vt 1 -noverbose -d /dev/fb1 /boot/boot.bmp
6) Вы также можете перенаправить вывод tty1 с LCD display-fb1.
После этой команды не будет выводиться изображение на HDMI
root@orangepi:~# con2fbmap 1 1
Если вы хотите вернуться к отображению HDMI, используйте следующую команду
root@orangepi:~# con2fbmap 1 0
Ниже приведен результат выполнения команды htop.
7) Поскольку шрифт терминала по умолчанию слишком большой, экран не может отображать достаточно много
контента, поэтому вы можете использовать следующий метод, чтобы уменьшить шрифт терминала
8) Метод настройки запуска системы для автоматической загрузки модуля fbtft_device
- a_ Создайте новый файл конфигурации /etc/modules-load.d/fbtft.con, содержимое файла
root@orangepi:~# cat /etc/modules-load.d/fbtft.conf
fbtft_device
- b) Создайте новый файл конфигурации /etc/modprobe.d/fbtft.conf, содержимое файла
root@orangepi:~# cat /etc/modprobe.d/fbtft.conf
options fbtft_device custom name=fb_ili9341 busnum=1 cs=1
gpios=reset:73,dc:70,led:69 rotate=90 speed=65000000 bgr=1 txbuflen=65536
Затем перезапустите систему Linux, и вы увидите, что модули ядра, относящиеся к fbtft_device, загружены автоматически
9) Если вы хотите, чтобы система Linux автоматически отображала консоль на ЖК-дисплей,
после загрузки добавьте следующую конфигурацию в /boot/orangepiEnv.txt, а затем
перезапустите систему, чтобы увидеть вывод на ЖК-дисплей
root@orangepi:~# cat /boot/orangepiEnv.txt | grep "fbcon"
extraargs=fbcon=map:1
|
|