3149浏览
查看: 3149|回复: 0

[官方教程] K210入门-裸机开发(七)之LCD显示之1.14TFT

[复制链接]

K210入门-裸机开发(七)之LCD显示之1.14TFT屏

开发板:K210 AIRV R3版 widora

开发环境:kendryte IDE 官方的

必须的参考文档:Standalone SDK编程指南v0.5.0,以及widora的原理图

1.新建文件夹 07my_code_114tft

K210入门-裸机开发(七)之LCD显示之1.14TFT图1
地球+礼物 没有搜到tft屏幕,也没有OLED屏幕, 试下这个screen看能不能驱动

K210入门-裸机开发(七)之LCD显示之1.14TFT图2

安装依赖

K210入门-裸机开发(七)之LCD显示之1.14TFT图3

清理+构建

K210入门-裸机开发(七)之LCD显示之1.14TFT图4

环境准备完毕

2.代码修改

1.14TFT显示屏原理图

K210入门-裸机开发(七)之LCD显示之1.14TFT图5

RESETN 连着复位按键那边 不用管

LCD_DC -> IO38

SPI0_D0 -> SPI0_D0

LCD_WR ->IO39

LCD_CS2-> IO37

K210入门-裸机开发(七)之LCD显示之1.14TFT图6

用到了 SPI0_D0 -> SPI0_D0 那先改为0(这个错的 后面才发现错误 找了好久问题)

K210入门-裸机开发(七)之LCD显示之1.14TFT图7

再看看 lcd_init();

K210入门-裸机开发(七)之LCD显示之1.14TFT图8

看看tft_hard_init() 里面装什么葫芦

K210入门-裸机开发(七)之LCD显示之1.14TFT图9
init_dcx()

K210入门-裸机开发(七)之LCD显示之1.14TFT图10

看到配置了叫DCX的IO口 数值为2

K210入门-裸机开发(七)之LCD显示之1.14TFT图11

看看里面有没有配置

K210入门-裸机开发(七)之LCD显示之1.14TFT图12

LCD_DC -> IO38

K210入门-裸机开发(七)之LCD显示之1.14TFT图13
再看看哪几个

RESETN 连着复位按键那边 不用管

LCD_DC -> IO38

SPI0_D0 -> SPI0_D0

LCD_WR ->IO39

LCD_CS2-> IO37

K210入门-裸机开发(七)之LCD显示之1.14TFT图14

LCD_WR 对应SCL, LCD_CS2对应CS

在SPI0那边选择,保存

K210入门-裸机开发(七)之LCD显示之1.14TFT图15

先编译下载看看有没有显示

毛线都没有 继续改

SYSCTL_POWER_BANK1改为SYSCTL_POWER_BANK6

K210入门-裸机开发(七)之LCD显示之1.14TFT图16

K210入门-裸机开发(七)之LCD显示之1.14TFT图17

K210入门-裸机开发(七)之LCD显示之1.14TFT图18

再烧录试试

还是毛线反应都没 继续改

K210入门-裸机开发(七)之LCD显示之1.14TFT图19

K210入门-裸机开发(七)之LCD显示之1.14TFT图20

从8线改为标准的3线

K210入门-裸机开发(七)之LCD显示之1.14TFT图21

其他的也要改

下载烧录 还是啥反应都没 B了狗了

3.继续找问题

这个改为1,前面看错了,0是disable,1是enable,要启动spi0才对

K210入门-裸机开发(七)之LCD显示之1.14TFT图22

烧录终于有显示了 真的艰难

修改这个 , 调整画布方向

K210入门-裸机开发(七)之LCD显示之1.14TFT图23

K210入门-裸机开发(七)之LCD显示之1.14TFT图24
我这边调正常了, 你们可以直接参考我的代码 然后学习修改

摄像头曝光了,用手机拍也曝光 凑合看

K210入门-裸机开发(七)之LCD显示之1.14TFT图25

1.14LCD屏幕学习完毕, 下次再见


链接:https://pan.baidu.com/s/1jyM48Jd1bFQWudVBybI97w
提取码:nynu

main.c代码

#include <fpioa.h>
#include <lcd.h>
#include <sleep.h>
#include <stdio.h>
#include <sysctl.h>

#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)
    ;
}

版权声明:本文为CSDN博主「jwdeng1995」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jwdeng1995/article/details/108036166

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail