STM32移植ST77891.69寸屏幕并移植lvgl8.0.2(按键输入设备)一些心得

学习目标:

将ST7789(1.69寸圆角屏SPI)驱动移植+lvgl移植+按键当作输入设备


学习内容:

  1. 驱动移植
  2. lvgl移植
  3. 按键移植
  4. 软件使用

正片开始:

先说说这块屏幕的介绍呗

ST7789屏幕是一种高性能的液晶显示屏,它具有高清晰度、高亮度、低功耗等优点。它采用了SPI接口通信,可以实现快速数据传输。该屏幕广泛应用于智能手表、智能家居、智能穿戴设备等产品中,是一种非常受欢迎的显示屏。

一个字 我选择他的原因:小!

话说回来?小有什么用???

俗话说得好,小而精美,短小精悍可以就能这么理解。最主要是人家不仅小还清晰,价格还那么实惠,干嘛不选择人家呢0.o 0.o  0.o

好了好了先看看屏幕的样子:

STM32移植ST77891.69寸屏幕并移植lvgl8.0.2(按键输入设备)一些心得_第1张图片

 就是这个样子 有木有很像你手上的手表屏幕呢?HHH~~~

可是当时看到这个屏幕的时候 我引发了两个思考:

一:md  线这么少 这不能触摸 只能看 小没用 还缺少了触摸功能...不如以前用的正点原子提供的大屏还有触摸芯片

二:圆角好看是好看 嘿嘿~~~ 哦?不对?像素点(0,0)在哪里? 是个考究的问题 不是方方正正的 为啥被称作240*280呢0.0 我直接懵逼

 ok 先解决第一个问题 :找到了另一块有触摸芯片的屏幕

STM32移植ST77891.69寸屏幕并移植lvgl8.0.2(按键输入设备)一些心得_第2张图片

 类似于这个 但是这个屏幕麻烦点就在于 需要勾吧转接板 FPC转排针的 家里没焊接工具 那就只能忍忍洛 

ok 再解决第二个问题,当然我后来是驱动成功了,所以我测试了一下(0,0)在哪里 这个点直接被吃了 相当于最外的轮廓是240*280 圆角是被吃了 可以理解被(偷工减料)了0.0,类似于用偷工减料换取的艺术 这样形容很优雅

这样我们就开始入手他 用什么驱动?看引脚就知道SPI通信嘛? SPI你会吗?好好好 你会 但我目前不是很会 我只是想用这个屏幕 则----某宝商家要源码呀!

心路历程os:要到源码后的我 并不是很开心,因为他用的是软件spi! 男人追求的是速度!速度!你用个软件spi怎么能行,则完全没用过spi的我励志 要开始把软件spi移植成硬件spi!

 屏幕驱动的移植:

       初始化屏幕的.h:

  无脑替换:

#include "main.h"

#include "spi.h"
#include "gpio.h"

   看不惯标准库的函数,无脑替换成HAL库的:

#define LCD_RES_Clr()  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,0)//RES  
#define LCD_RES_Set()  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,1)

#define LCD_DC_Clr()   HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,0)//DC
#define LCD_DC_Set()   HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,1)
 		     
#define LCD_CS_Clr()   HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,0)//CS
#define LCD_CS_Set()   HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,1)

#define LCD_BLK_Clr()  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,0)//BLK
#define LCD_BLK_Set()  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,1)
<

你可能感兴趣的:(stm32,嵌入式硬件,单片机)