当前位置: 首页 > news >正文

思澈sdk-新建lcd

新加的屏幕为CO5300的显示芯片,FT6146的触摸芯片,1.43寸的圆屏,分辨率为466x466。Rtt的驱动在rtos\rtthread\bsp\drivers\drv_lcd.c

1 在customer\peripherals下复制co5300\文件夹,粘贴为co5300_143\

在SiFli-SDK\customer\peripherals\Kconfig中新增

config LCD_USING_CO5300_143bool
default n

co5300至此有3个同ID的驱动,在co5300xxxx.c的LCD_DRIVER_EXPORT(co5300, LCD_ID, &lcdc_int_cfg, &CO5300_drv,  LCD_PIXEL_WIDTH,  LCD_PIXEL_HEIGHT, 2);LCD_ID决定了驱动匹配的接口。RTT根据根据Kconfig中的配置选择将哪个添加到驱动链表中,同ID的驱动第一个匹配成功的驱动会被选择,一旦匹配成功立刻退出

  • 可以从其他已有的驱动复制一份代码,然后将名字、ID、对应的命令(绝大部分都一样不需要改)改成自己的
  • 注意修改内部的Kconfig文件的depend宏(这里Kconfig文件是哪个?

2 在customer\peripherals\Kconfig_lcd中添加如下配置(注意修改的地方有两个LCD_USING_TFT_CO5300_143)

config LCD_USING_TFT_CO5300_143bool "1.43 round QSPI Single-Screen LCD(DO0143FMST12)"select LCD_USING_CO5300select TSC_USING_FT6146 if BSP_USING_TOUCHDselect BSP_LCDC_USING_QADSPIselect LCD_USING_PWM_AS_BACKLIGHTif LCD_USING_TFT_CO5300_143config LCD_CO5300_VSYNC_ENABLEbool "Enable LCD VSYNC (TE signal)"def_bool yendif

3 在该文件中的config LCD_HOR_RES_MAX配置项下添加:(这里466为横向分辨率)

default 466 if LCD_USING_TFT_CO5300_143

4 在该文件中的config LCD_VER_RES_MAX配置项下添加:(这里466为纵向分辨率)

default 466 if LCD_USING_TFT_CO5300_143

5 在该文件中的config LCD_DPI配置项下添加:(这里300为DPI)

default 300 if LCD_USING_TFT_CO5300_143

6 验证,在例程的project文件夹下执行:

scons --board=watch525 –menuconfig

选中:

在生成的文件夹project\build_watch525_hcpu\rtconfig.h中

#define LCD_USING_TFT_CO5300_143 1
#define LCD_HOR_RES_MAX 466
#define LCD_VER_RES_MAX 466
#define LCD_DPI 300

可以发现配置项已经写入

7 检查新增LCD用到的pin,以及reset pin 的pinmux是否正确

在customer\boards\watch525_base\bsp_pinmux.c

void BSP_PIN_LCD(void)中有关于lcd的QSPI引脚的配置

在rtos\rtthread\bsp\sifli\drivers\drv_lcd.c

void gpio_cs_init(void)中有关于lcd的cs引脚的配置

在customer\boards\watch525_base\bsp_lcd_tp.c中cs引脚定义

#define LCD_RESET_PIN           (0)         // GPIO_A00
#define TP_RESET                (9)         // GPIO_A09

8 运行`build_sf32lb52-lcd_n16r8_hcpu\uart_download.bat`下载程序到开发板,当提示`please input serial port number`,输入开发板实际串口号

相关文章:

  • Linux下GCC和C++实现统计Clickhouse数据仓库指定表中各字段的空值、空字符串或零值比例
  • “图像说话,文本有图”——用Python玩转跨模态数据关联分析
  • 从代码学习深度强化学习 - 多臂老虎机 PyTorch版
  • Cesium快速入门到精通系列教程七:粒子效果
  • Java 中字节流的使用详解
  • 【GESP真题解析】第 18 集 GESP 三级 2025 年 3 月编程题 1:2025
  • 用 Lazarus IDE 写一个邮件客户端软件,能收发邮件,编写邮件
  • 八股---7.JVM
  • Qwen系列之Qwen3解读:最强开源模型的细节拆解
  • 开源项目实战学习之YOLO11:12.7 ultralytics-models-transformer.py
  • LLMs之RLVR:《Absolute Zero: Reinforced Self-play Reasoning with Zero Data》翻译与解读
  • 基于定制开发开源AI智能名片S2B2C商城小程序的首屏组件优化策略研究
  • 计数思想-众数
  • 【Java学习笔记】日期类
  • 香橙派3B学习笔记8:snap安装管理软件包_打包俩个有调用的python文件
  • cpp自学 day2(—>运算符)
  • unipp---HarmonyOS 应用开发实战
  • PHP环境极速搭建
  • 开源大模型网关:One API实现主流AI模型API的统一管理与分发
  • 工作记录 2018-08-21
  • 做愛的网站動漫/怎么申请建立网站
  • 软件开发平台搭建/泉州seo报价
  • ps网站轮播图怎么做的/seo快速排名案例
  • 注册软件开发公司需要什么条件/搜索引擎seo外包
  • 邢台集团网站建设/八百客crm登录入口
  • 青岛建设英文网站建设/seo什么意思