R128实现SPI驱动TFT LCD屏教程

描述

SPI驱动TFT LCD屏

真的不要太简单~

R128 平台提供了 SPI DBI 的 SPI TFT 接口,具有如下特点:

引脚

同时,提供了SPILCD驱动框架以供 SPI 屏幕使用,本次使用的是 Dshan_Display Module,如下图:

引脚

 

1引脚配置

屏幕

引脚引脚

 

2载入方案

我们使用的开发板是 R128-Devkit,需要开发 C906 核心的应用程序,所以载入方案选择 r128s2_module_c906

 

$ source envsetup.sh 
$ lunch_rtos 1
引脚

 

 

3SPI驱动

设置

屏幕使用的是SPI驱动,所以需要勾选SPI驱动,运行 mrtos_menuconfig 进入配置页面。前往下列地址找到 SPI Devices

 

Drivers Options  --->
    soc related device drivers  --->
        SPI Devices --->
        -*- enable spi driver
引脚

 

打开你喜欢的编辑器,修改文件:

 

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>
引脚

 

 

4PWM驱动

设置

屏幕背光使用的是PWM驱动,所以需要勾选PWM驱动,运行 mrtos_menuconfig 进入配置页面。前往下列地址找到 PWM Devices

 

Drivers Options  --->
    soc related device drivers  --->
        PWM Devices --->
        -*- enable pwm driver
引脚

 

打开你喜欢的编辑器,修改文件:

 

board/r128s2/module/configs/sys_config.fex

 

增加 PWM1 节点

 

[pwm1]
pwm_used        = 1
pwm_positive    = port:PA9<4><0><3>
引脚

 

 

5SPI LCD驱动

设置

SPI LCD 由专门的驱动管理。运行 mrtos_menuconfig 进入配置页面。前往下列地址找到 SPILCD Devices ,注意同时勾选spilcd hal APIs test 方便测试使用。

 

Drivers Options  --->
    soc related device drivers  --->
        [*] DISP Driver Support(spi_lcd)
        [*]   spilcd hal APIs test
引脚

 

在 SPILCD 驱动选择界面可以看到 LCD_FB panels select 选择 SPI 屏幕的驱动,本文只注重于 SPI LCD 的使用,驱动编写请查看《SPI LCD 显示驱动》,进入 LCD_FB panels select 选项

引脚

选择并勾选 [*] LCD support JLT35031C panel

引脚

打开你喜欢的编辑器,修改文件:

 

board/r128s2/module/configs/sys_config.fex
引脚

 

 

6LCD亮屏测试

演示

以上配置完成后,编译打包烧录,上电后屏幕背光亮起,屏幕为黑色。

引脚

并且可以看到以下两个部分初始化的 LOG。

 

[LCD_FB] lcd_fb_probe,line:103: 和 spi_clk_init()1609 [spi1] clk rate auto adjust to 48000000 SPI
引脚

 

然后可以用 test_spilcd 测试屏幕,日志如下

引脚

执行命令之后屏幕会变为黄色。

引脚

 

7R128开发板

购买

基于R128-S2设计的全套开发板已上线淘宝百问网韦东山老师个人店进行售卖,包含黑色的DshanMCU-R128s2-R16N16模组和全套的DshanMCU-R128s2-DEVKIT。

DshanMCU-R128s2-R16N16模组:39.9元

DshanMCU-R128s2-DEVKIT开发板:59.9元

 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分