移植 LVGL STM32F407VGT6 8bit FSMC TFT-LCD

本文由RT-Thread论坛@ppacctv 原创发布:https://club.rt-thread.org/ask/article/15d851442a2670c3.html

我的板子是这样的,MCU是STM32F407VGT6

tb_image_share_1652025345850_edit_224568266930835.png

我的TFT-LCD 是这样的,驱动是ili9486,320x480,8bit并口

tb_image_share_1652025279385_edit_224580031517292.png

组合到一起是这样的

IMG_20220508_235640.jpg

LCD 找卖家要的驱动

图片3.png

第一步

第一次移植,不确定问题会在哪发生,所以
Keil + STM32CubeMX
先裸机驱动LCD,验证代码的正确性,减少问题出在LCD这边的可能性。

第二步

裸机没问题,使用RT-Thread Studio新建工程。

图片1.png

在RT-Thread Studio 里,双击 CubeMX Settings,打开CubeMX进行硬件配置

图片2.png

下面是我的配置,Timing的参数先保持CubeMX生成的默认值就好,后面可以慢慢调,调不好LCD没显示的,或者不稳定,不利于移植

图片4.png

时钟、串口、FSMC,设置完,File 菜单,save一下,然后右上角生成 CODE,完事关闭CubeMX。编译一下,应该没有错误。

第三步


https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32/stm32f407-atk-explorer/applications/
下载整个lvgl文件夹,复制到我们工程的applications 文件夹下;

https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32/stm32f407-atk-explorer/board/ports
下载drv_lcd.c/drv_lcd.h 复制到我们工程的drivers 文件夹下;
还有我们的LCD驱动,建个ili9486文件夹,放到 drivers 文件夹下。

然后我们右键我们的工程,属性->C/C++常规->路径和符号->包含->GNU C,将我们的lvgl、ili9486、lvgl/demo 文件夹加入。
这步总之就是将以上文件(夹)加入工程并确保能够被找到,怎么加,个人随便!

图片5.png

第四步

编辑 drv_lcd.h

#define LCD_W 320	//LCD水平宽
#define LCD_H 480	//LCD垂直高

#define LCD_ADDR_BASE		0x60000000	//FSMC地址,命令RAM地址
#define LCD_REGSELECT_BIT	16
#define LCD_ADDR_DATA		(LCD_ADDR_BASE + (1 << (LCD_REGSELECT_BIT + 2)) - 2)	//数据RAM地址
#de
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值