SPI驅(qū)動TFT LCD屏
真的不要太簡單~
R128 平臺提供了 SPI DBI 的 SPI TFT 接口,具有如下特點:
同時,提供了SPILCD驅(qū)動框架以供 SPI 屏幕使用,本次使用的是 Dshan_Display Module,如下圖:
1引腳配置
屏幕
2載入方案
我們使用的開發(fā)板是 R128-Devkit,需要開發(fā) C906 核心的應(yīng)用程序,所以載入方案選擇r128s2_module_c906
$ source envsetup.sh $ lunch_rtos 1
![2ab05372-6feb-11ee-939d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/AB/71/wKgZomUzjUqAPjNDAAGoQHZBT80917.png)
3SPI驅(qū)動
設(shè)置
屏幕使用的是SPI驅(qū)動,所以需要勾選SPI驅(qū)動,運行 mrtos_menuconfig 進入配置頁面。前往下列地址找到 SPI Devices
Drivers Options ---> soc related device drivers ---> SPI Devices ---> -*- enable spi driver
![2af3ce40-6feb-11ee-939d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/AB/71/wKgZomUzjUqAdqlYAABRJqk7dOA809.png)
打開你喜歡的編輯器,修改文件:
board/r128s2/module/configs/sys_config.fex,
在這里我們不需要用到 SPI HOLD與SPI WP引腳,注釋掉即可。
;---------------------------------------------------------------------------------- ;SPI controller configuration ;---------------------------------------------------------------------------------- ;Please config spi in dts [spi1] spi1_used = 1 spi1_cs_number = 1 spi1_cs_bitmap = 1 spi1_cs0 = port:PA12<6><0><3>spi1_sclk = port:PA13<6><0><3> spi1_mosi = port:PA18<6><0><3> spi1_miso = port:PA21<6><0><3> ;spi1_hold = port:PA19<6><0><2> ;spi1_wp = port:PA20<6><0><2>
![2afc9e62-6feb-11ee-939d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/AB/71/wKgZomUzjUqAad4bAAAYM63XrI4115.png)
4PWM驅(qū)動
設(shè)置
屏幕背光使用的是PWM驅(qū)動,所以需要勾選PWM驅(qū)動,運行 mrtos_menuconfig 進入配置頁面。前往下列地址找到 PWM Devices
Drivers Options ---> soc related device drivers ---> PWM Devices ---> -*- enable pwm driver
![2af3ce40-6feb-11ee-939d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/AB/71/wKgZomUzjUqAdqlYAABRJqk7dOA809.png)
打開你喜歡的編輯器,修改文件:
board/r128s2/module/configs/sys_config.fex
增加 PWM1 節(jié)點
[pwm1] pwm_used = 1 pwm_positive = port:PA9<4><0><3>
![2b4abda4-6feb-11ee-939d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/AB/71/wKgZomUzjUqACjN_AAAGSBMFLXo537.png)
5SPI LCD驅(qū)動
設(shè)置
SPI LCD 由專門的驅(qū)動管理。運行 mrtos_menuconfig 進入配置頁面。前往下列地址找到 SPILCD Devices ,注意同時勾選spilcd hal APIs test 方便測試使用。
Drivers Options ---> soc related device drivers ---> [*] DISP Driver Support(spi_lcd) [*] spilcd hal APIs test
![2b930d02-6feb-11ee-939d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/AB/71/wKgZomUzjUuATODoAABPB_y8ANA745.png)
在 SPILCD 驅(qū)動選擇界面可以看到LCD_FB panels select選擇 SPI 屏幕的驅(qū)動,本文只注重于 SPI LCD 的使用,驅(qū)動編寫請查看《SPI LCD 顯示驅(qū)動》,進入LCD_FB panels select選項
選擇并勾選[*] LCD support JLT35031C panel
打開你喜歡的編輯器,修改文件:
board/r128s2/module/configs/sys_config.fex
![2bc07a94-6feb-11ee-939d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/AB/71/wKgZomUzjUuANO_FAAA79bnAEt8149.png)
6LCD亮屏測試
演示
以上配置完成后,編譯打包燒錄,上電后屏幕背光亮起,屏幕為黑色。
并且可以看到以下兩個部分初始化的 LOG。
[LCD_FB] lcd_fb_probe,line:103: 和 spi_clk_init()1609 [spi1] clk rate auto adjust to 48000000 SPI
![2c135f5c-6feb-11ee-939d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/AB/71/wKgZomUzjUuAAhf-AAArwNu21-k861.png)
然后可以用test_spilcd測試屏幕,日志如下
執(zhí)行命令之后屏幕會變?yōu)辄S色。
7R128開發(fā)板
購買
基于R128-S2設(shè)計的全套開發(fā)板已上線淘寶百問網(wǎng)韋東山老師個人店進行售賣,包含黑色的DshanMCU-R128s2-R16N16模組和全套的DshanMCU-R128s2-DEVKIT。
DshanMCU-R128s2-R16N16模組:39.9元
DshanMCU-R128s2-DEVKIT開發(fā)板:59.9元
審核編輯:湯梓紅
-
lcd
+關(guān)注
關(guān)注
34文章
4426瀏覽量
167494 -
接口
+關(guān)注
關(guān)注
33文章
8598瀏覽量
151157 -
SPI
+關(guān)注
關(guān)注
17文章
1706瀏覽量
91582 -
引腳
+關(guān)注
關(guān)注
16文章
1196瀏覽量
50483 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5050瀏覽量
97471 -
R128
+關(guān)注
關(guān)注
0文章
41瀏覽量
105
原文標(biāo)題:3個配置讓R128實現(xiàn)SPI驅(qū)動LCD屏
文章出處:【微信號:gh_79acfa3aa3e3,微信公眾號:全志在線】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
R128點屏踩坑筆記
![<b class='flag-5'>R128</b>點<b class='flag-5'>屏</b>踩坑筆記](https://file1.elecfans.com/web2/M00/B2/5F/wKgaomVr5c-AaV0LAAByPgi6Kxc787.png)
評論