开发板:K210 AIRV R3版 widora
开发环境:kendryte IDE 官方的
必须的参考文档:Standalone SDK编程指南v0.5.0,以及widora的原理图
(一) 新建文件夹 07my_code_114tft
地球+礼物 没有搜到tft屏幕,也没有OLED屏幕, 试下这个screen看能不能驱动
安装依赖
清理+构建
环境准备完毕
(二) 代码修改
1.14TFT显示屏原理图
RESETN 连着复位按键那边 不用管
LCD_DC -> IO38
SPI0_D0 -> SPI0_D0
LCD_WR ->IO39
LCD_CS2-> IO37
用到了 SPI0_D0 -> SPI0_D0 那先改为0(这个错的 后面才发现错误 找了好久问题)
再看看 lcd_init();
看看tft_hard_init() 里面装什么葫芦
init_dcx()
看到配置了叫DCX的IO口 数值为2
看看里面有没有配置
LCD_DC -> IO38
再看看哪几个
RESETN 连着复位按键那边 不用管
LCD_DC -> IO38
SPI0_D0 -> SPI0_D0
LCD_WR ->IO39
LCD_CS2-> IO37
LCD_WR 对应SCL, LCD_CS2对应CS
在SPI0那边选择,保存
先编译下载看看有没有显示
毛线都没有 继续改
SYSCTL_POWER_BANK1改为SYSCTL_POWER_BANK6
再烧录试试
还是毛线反应都没 继续改
从8线改为标准的3线
其他的也要改
下载烧录 还是啥反应都没 B了狗了
(六) 继续找问题
这个改为1,前面看错了,0是disable,1是enable,要启动spi0才对
烧录终于有显示了 真的艰难
PS
通过修改这个 , 调整画布方向
我这边调正常了, 你们可以直接参考我的代码 然后学习修改
摄像头曝光了,用手机拍也曝光 凑合看
1.14LCD屏幕学习完毕, 下次再见
狗B CSDN没有上传附件功能
链接:https://pan.baidu.com/s/1jyM48Jd1bFQWudVBybI97w
提取码:nynu
main.c代码
#include
#include
#include
#include
#include
#include "icon_generate.h"
uint32_t g_lcd_gram[LCD_X_MAX * LCD_Y_MAX / 2] __attribute__((aligned(128)));
static void io_set_power(void) {
sysctl_set_power_mode(SYSCTL_POWER_BANK6, SYSCTL_POWER_V18);
}
static void io_mux_init(void) { sysctl_set_spi0_dvp_data(1); }
int main(void) {
printf("lcd test\n");
io_mux_init();
io_set_power();
lcd_init();
lcd_clear(RED);
msleep(500);
lcd_clear(GREEN);
msleep(500);
lcd_clear(BLUE);
msleep(500);
lcd_clear(WHITE);
lcd_set_direction(DIR_XY_RLUD);
lcd_draw_picture(0, 0, 240, 160, g_lcd_gram);
lcd_draw_string(120, 40, "Canaan", CYAN);
lcd_draw_picture((240 - IMAGE_HEIGHT) / 2, (320 - IMAGE_WIDTH) / 2,
IMAGE_HEIGHT, IMAGE_WIDTH, rgb_image);
lcd_set_direction(DIR_XY_RLUD);
lcd_draw_string(60, 240, "Kendryte K210", ORANGE);
lcd_draw_string(100, 100, "A", ORANGE);
lcd_draw_string(100, 90, "B", ORANGE);
lcd_draw_string(90, 100, "C", ORANGE);
lcd_draw_string(90, 90, "D", ORANGE);
while (1)
;
}