【外设验证】3.5寸SPI彩屏

[复制链接]
查看765 | 回复15 | 2024-4-16 06:46:28 | 显示全部楼层 |阅读模式

本帖最后由 wukong50 于 2024-4-16 07:38 编辑

说明

本次验证了 WangChong 大佬 SPI 驱动 ILI9488 3.5寸LCD 外设库

【外设移植】Ai-M61-32s 开发板+3.5寸SPI彩屏 - DIY 经验分享 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com)

Demo中有些库函数没使用,自己加了些

验证成功

显示速度没这么慢,为了能显示,改成 gif 图片,中间断帧

WeChat_2024041517510500-00-00--00-00-06.gif

使用

我把外设移植通过验证的的库统一会放到 Gitee 仓库,仓库中分别有 SDK 库方式 和 Arduino 库方式(可移植)

接线

M61-32S 3.5寸SPI屏
VCC VCC
GND GND
IO12 CS
IO26 RS
IO27 D/C
IO19 SDI
IO13 SCL
IO28 BL
IO18 SDO

GIT 仓库

https://gitee.com/wukong50/m61-libraries.git

SDK 使用方式

SDK 模式

  1. 克隆 Git 仓库
  2. 切换到此目录下
m61-libraries\LCD_ILI9488_350\SDK\LCD_ILI9488_350
  1. 修改 Makefile SDK 路径

image.png

  1. 直接 make flash 即可
  2. 烧录的时候需要手动进入烧录模式,先将按住板子上的"IO2"再按一下"EN"使板子进入烧录模式
  3. 烧录有问题,请看文章末尾答疑

Arduino 模式

  1. 克隆 Git 仓库
  2. 复制此目录下文件夹到 Arduino 项目目录 libraries 目录里面
m61-libraries\LCD_ILI9488_350\Arduino

如图 我的项目文件夹在 D 盘 M61 目录下

那 M61 目录结构就是 libraries 里面粘贴 LCD_ILI9488_350 ,如果 libraries 目录没有,需要手动新建一个

目录结构

M61/
└── libraries
    └── LCD_ILI9488_350
        ├── examples
        │   └── LCD350
        │       └── LCD350.ino
        ├── library.properties
        └── src
            ├── lcd.cpp
            ├── lcdfont.h
            ├── lcd.h
            ├── lcd_init.cpp
            ├── lcd_init.h
            ├── pic.h
            ├── typedef.h
            ├── USER_SPI.cpp
            └── USER_SPI.h

此时,选择好开发板

image.png

在示例中点击示例,就可以运行了

image.png

  1. 烧录的时候需要手动进入烧录模式,先将按住板子上的"IO2"再按一下"EN"使板子进入烧录模式

答疑

  1. 如何搭建 linux 环境 零基础搭建小安派 Linux 开发环境之【编译运行 Hello world】 - 小安派 S1&M61 教程合集 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com)
  2. 编译报错#lwip/dns.h 关于编译报错#lwip/dns.h 找不到的解决办法 - 小安派 S1&M61 教程合集 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com)
  3. 如何搭建 Arduino 环境 小安派自学笔记 3-arduino 环境安装与编译点灯 - 小安派 S1&M61 教程合集 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com)

最后的问题:

image.png

颜色问题,我画直线,设置蓝色,结果显示黄色,字母A那也是 不知道什么问题有点超纲 还请懂的大佬解释下

我用的kit,12 27号引脚都有LED

LCD_DrawLine(10, 20, 50, 20, BLUE);
LCD_DrawLine(10, 20, 50, 50, BLUE);
// 指定位置显示一个字符
LCD_ShowChar(300, 40, 'A', BLUE, GREEN, 32, 0);
回复

使用道具 举报

干簧管 | 2024-4-17 08:50:17 | 显示全部楼层
👍
回复

使用道具 举报

WT_0213 | 2024-4-17 09:00:22 | 显示全部楼层
感觉啥都有
回复 支持 反对

使用道具 举报

1084504793 | 2024-4-17 09:18:02 | 显示全部楼层
回复

使用道具 举报

1055173307 | 2024-4-17 09:46:59 | 显示全部楼层
回复

使用道具 举报

lazy | 2024-4-17 10:54:05 | 显示全部楼层
回复

使用道具 举报

7788 | 2024-4-17 16:46:10 | 显示全部楼层
学习了
回复

使用道具 举报

timo | 2024-4-17 17:03:26 | 显示全部楼层
Arduino也可以?
回复 支持 反对

使用道具 举报

知行合一 | 2024-4-17 18:58:09 | 显示全部楼层
这个屏幕得50吧
回复 支持 反对

使用道具 举报

楚华 | 2024-4-17 19:09:27 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则