国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240)

這篇具有很好參考價值的文章主要介紹了STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1、簡介

2、CubeMX初始化配置

2.1 基礎配置

2.1.1 SYS配置

?2.1.2 RCC配置

2.2 屏幕引腳配置

2.3 項目生成

?3、KEIL端程序整合

3.1 LCD驅動添加

3.2?函數(shù)修改

3.2.1?lcd.h修改

3.2.2 lcd_innit.h?修改

?3.2.3 lcd.c修改

?3.2.4?lcd_inut.c修改

?3.3?主函數(shù)代碼

3.3.1 添加頭文件

3.3.2?LCD進行初始化

3.3.3?while中添加如下代碼

4、硬件連接

5、 效果展示

1、簡介

屏幕廠家提供的都是標準庫,網(wǎng)上找了找沒看到好用的HAL庫屏幕驅動,因此本文對HAL庫驅動TFT屏幕進行詳細講解。

2、CubeMX初始化配置

2.1 基礎配置

2.1.1 SYS配置

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

?2.1.2 RCC配置

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

2.2 屏幕引腳配置

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

2.3 項目生成

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

?3、KEIL端程序整合

3.1 LCD驅動添加

首先打開廠家提供的便準庫文件找到LCD驅動,驅動鏈接如下:

LCD_7引腳240x240 https://www.aliyundrive.com/s/EKDhHV6dKqx 點擊鏈接保存,或者復制本段內(nèi)容,打開「阿里云盤」APP ,無需下載極速在線查看,視頻原畫倍速播放。

首先在Core/Src目錄下,添加lcd.c,lcd_init.c如下圖所示:

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件?

?接著在Core/Inc目錄下,添加對應的.h文件如下圖所示:

?STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

?接著對驅動進行添加如下圖所示:?

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

3.2?函數(shù)修改

3.2.1?lcd.h修改

將原來lcd.h中?#include "sys.h"刪除,并且添加如下代碼:

#include "main.h"
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

3.2.2 lcd_init.h?修改

?首先也是將原來llcd_innit.h中?#include "sys.h"刪除,并且添加如下代碼:

#include "main.h"
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

接著將LCD端口定義函數(shù)用如下代碼替換:

#define LCD_RES_Clr()  HAL_GPIO_WritePin(TFT_RES_GPIO_Port,TFT_RES_Pin, GPIO_PIN_RESET)//RES
#define LCD_RES_Set()  HAL_GPIO_WritePin(TFT_RES_GPIO_Port,TFT_RES_Pin, GPIO_PIN_SET)
 
#define LCD_DC_Clr()   HAL_GPIO_WritePin(TFT_DC_GPIO_Port,TFT_DC_Pin, GPIO_PIN_RESET)//DC
#define LCD_DC_Set()   HAL_GPIO_WritePin(TFT_DC_GPIO_Port,TFT_DC_Pin, GPIO_PIN_SET)
 		     
#define LCD_CS_Clr()   HAL_GPIO_WritePin(TFT_CS_GPIO_Port,TFT_CS_Pin, GPIO_PIN_RESET)//CS
#define LCD_CS_Set()   HAL_GPIO_WritePin(TFT_CS_GPIO_Port,TFT_CS_Pin, GPIO_PIN_SET)
 
#define LCD_BLK_Clr()  HAL_GPIO_WritePin(TFT_BL_GPIO_Port,TFT_BL_Pin, GPIO_PIN_RESET)//BLK
#define LCD_BLK_Set()  HAL_GPIO_WritePin(TFT_BL_GPIO_Port,TFT_BL_Pin, GPIO_PIN_SET)

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

?3.2.3 lcd.c修改

將頭文件#include "delay.h"刪除

?3.2.4?lcd_inIt.c修改

1、將頭文件#include "delay.h"刪除

2、添加頭文件#include "spi.h"

3、將?LCD_GPIO_Init(void)函數(shù)內(nèi)全部注釋,如下圖所示:

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

4、將LCD_Writ_Bus(u8 dat)?)函數(shù)用以下代碼替換,如下圖所示:

LCD_CS_Clr();
HAL_SPI_Transmit(&hspi1,&dat,1, 1000);  
LCD_CS_Set();

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

?5、延時函數(shù)替換

CTRL+F進行整體替換

HAL_Delay

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

?3.3?主函數(shù)代碼

3.3.1 添加頭文件

#include "lcd_init.h"
#include "lcd.h"
#include "pic.h"

3.3.2?LCD進行初始化

float t=0;
u8 i,j;
LCD_Init();//LCD初始化
LCD_Fill(0,0,LCD_W,LCD_H,WHITE);

?添加位置如下圖所示:

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

3.3.3?while中添加如下代碼

LCD_ShowChinese(0,0,"中景園電子",RED,WHITE,32,0);
		LCD_ShowString(0,40,"LCD_W:",RED,WHITE,16,0);
		LCD_ShowIntNum(48,40,LCD_W,3,RED,WHITE,16);
		LCD_ShowString(80,40,"LCD_H:",RED,WHITE,16,0);
		LCD_ShowIntNum(128,40,LCD_H,3,RED,WHITE,16);
		LCD_ShowString(80,40,"LCD_H:",RED,WHITE,16,0);
		LCD_ShowString(0,70,"Increaseing Nun:",RED,WHITE,16,0);
		LCD_ShowFloatNum1(128,70,t,4,RED,WHITE,16);
		t+=0.11;
		for(j=0;j<3;j++)
		{
			for(i=0;i<6;i++)
			{
				LCD_ShowPicture(40*i,120+j*40,40,40,gImage_1);
			}
		}

4、硬件連接

VCC----3.3V

GND---GND

A1 ---- BL/LED

A2 ---- RES/RST

A3 ---- DC/RS

A4?---- CS(懸空)

A5?---- SCLK

A7 ---- MOSI/SDA

5、 效果展示

STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240),嵌入式小項目,單片機,嵌入式硬件

上文如有錯誤,懇請各位大佬指正。文章來源地址http://www.zghlxwxcb.cn/news/detail-605322.html

到了這里,關于STM32(HAL庫)驅動st7789LCD屏幕(7引腳240*240)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【STM32CubeIDE】STM32F103硬件SPI驅動1.8寸TFT LCD128X160 ST7735S屏幕

    【STM32CubeIDE】STM32F103硬件SPI驅動1.8寸TFT LCD128X160 ST7735S屏幕

    ?雖然STM32CubeIDE也是基于HAL庫,但是還是不能直接轉Keil MDK工程,本驅動案例從GitHub下載來的,原始工程使用的是較老版本的STM32CubeIDE配置的,沒法在繼續(xù)在新版本上程序配置,工程只是做了初始化配置。程序并不能直接被點亮,重新配置了lcd初始化函數(shù)以及復位函數(shù)后,才

    2024年02月12日
    瀏覽(23)
  • stm32 hal庫硬件spi(軟件spi)驅動1.8寸tft—lcd屏幕

    stm32 hal庫硬件spi(軟件spi)驅動1.8寸tft—lcd屏幕

    屏幕是嵌入式開發(fā)中的一個重要的部分,cdsn上有許多解釋原理的,還有很多是采用正點原子的屏幕來驅動的,對于剛剛入門不久的我們可能沒有資金去購買較為昂貴的屏幕。而對于底層原理我們暫時也不必了解的那么深入,能點亮屏幕就是我們最大的快樂。 除了中景園的資

    2024年02月03日
    瀏覽(23)
  • STM32F1基于STM32CubeMX配置硬件SPI驅動1.8寸TFT LCD128X160 ST7735S屏幕

    STM32F1基于STM32CubeMX配置硬件SPI驅動1.8寸TFT LCD128X160 ST7735S屏幕

    ??相關篇《【STM32CubeIDE】STM32F103硬件SPI驅動1.8寸TFT LCD128X160 ST7735S屏幕》 ?驅動效果就不做演示了,和上面的相關篇一樣,主要是為了方便使用MDK Keil開發(fā)的使用。所以花了點時間從上面的工程當中做了分離,重新使用STM32CubeMX配置一個方便二次開發(fā)移植使用和配置的工程。本

    2024年02月03日
    瀏覽(28)
  • STM32-基本知識梳理10-FSMC控制ST7789V-LCD液晶顯示屏

    STM32-基本知識梳理10-FSMC控制ST7789V-LCD液晶顯示屏

    一、ST7789V-LCD液晶顯示 1,一種計算機的I/O設備,即輸入輸出設備; 2,數(shù)據(jù)傳遞結構,光線的傳遞通過偏光片進行調整,最終傳遞到濾光片上,進而不同RGB數(shù)據(jù)點,即像素點; 3, LCD顯示器的關鍵參數(shù) ①像素:顯示器的像素指它成像最小的點 ②分辨率:像素點的個數(shù)的乘積

    2024年02月12日
    瀏覽(21)
  • STM32的HAL庫SPI驅動AD7788/7789連續(xù)轉換

    STM32的HAL庫SPI驅動AD7788/7789連續(xù)轉換

    在項目中需要使用高精度的ADC采集電壓信號且沒有高速需求,而STM32F103RCT6自帶的ADC位數(shù)較低,故選擇了一款24bit的低速ADC芯片AD7789,根據(jù)它的引腳與時序特性,復用了STM32的SPI模塊來驅動。整個過程踩了一些坑,在此記錄分享一下,表述適合初學者食用。 stm32cubemx的使用不做

    2024年02月19日
    瀏覽(98)
  • linux驅動開發(fā) ST7789 LCD驅動移植(I.MX6ULL平臺)

    linux驅動開發(fā) ST7789 LCD驅動移植(I.MX6ULL平臺)

    前言 I.MX6ULL的板子未選配RGB的屏幕,無法在板子上進行GUI的開發(fā)調試,不過手頭上有塊控制器為ST7789V3的LCD屏幕(1.3inch),通過簡易接線后可以很方便進行驅動的移植 如有異議,歡迎留言指正 ST7789 LCD控制器 ST7789是一款單芯片TFT-LCD控制器,支持并口與SPI通信方式 特性 控制器支

    2023年04月09日
    瀏覽(24)
  • ESP8266+TFT顯示屏(ST7789 240*240)

    ESP8266+TFT顯示屏(ST7789 240*240)

    ? 操作系統(tǒng): windows 10 x64 ? IDE: Arduino1.8.15 ? 運行庫1: TFT_eSPI ? 運行庫2: ESP8266 ? 開發(fā)板硬件: ESP8266-CH340 ?,? ST7789-240*240-TFT顯示屏 ESP8266 ST7789 備注 G GND 3V VCC D5 SCL D7 SDA D4 RES D3 DC 3-1 安裝庫# 打開Arduino,進入: 工具 -- ? 管理庫... ,搜索: TFT_eSPI ,選擇版本,點擊安

    2024年02月06日
    瀏覽(20)
  • STM32驅動4寸ST7796S LCD-TFT屏

    STM32驅動4寸ST7796S LCD-TFT屏

    屏幕驅動芯片ST7796S最大支持320*480分辨率的屏幕,顯存GRAM達345600字節(jié),支持8/9/16/18/24位并口數(shù)據(jù)總線,還支持3/4線制SPI通信。每一個像素點RGB顯示的顏色可達65K/262K/16.7M鐘,像素點地址設置按照行列的順序進行,遞增遞減方向由掃描方式?jīng)Q定,顯示方法按照先設置地址再設置

    2024年02月03日
    瀏覽(23)
  • 【rust/esp32】初識slint ui框架并在st7789 lcd上顯示

    【rust/esp32】初識slint ui框架并在st7789 lcd上顯示

    esp32版本:s3 運行環(huán)境:no-std 開發(fā)環(huán)境:wsl2 LCD模塊:ST7789V2 240*280 LCD Slint版本:master分支 github地址:這里 官網(wǎng) 為啥不用 lvgl ? 只能說rust的生態(tài)還是不太行,lvgl的rust binding似乎還在開發(fā)中,已經(jīng)有倉庫了,但是還在開發(fā)中。 slint 目前比較完善,但是相關資料也少。 反正已

    2024年02月05日
    瀏覽(73)
  • STM32驅動ST7735彩色屏幕(任意分辨率),驅動不了你來打我

    STM32驅動ST7735彩色屏幕(任意分辨率),驅動不了你來打我

    驅動方式 硬件SPI 適用STM32型號 帶SPI的任意型號,驅動不了你來打我(內(nèi)心OS:HAL真好) 特別提醒 以下內(nèi)容介紹如何使用HAL方式驅動ST7735,所以默認 你已經(jīng)了解并且會使用STM32CubeMX軟件 (如果沒有接觸過的話建議先安裝嘗試一下再繼續(xù)以下內(nèi)容,不然有種囫圇吞棗的意思了)

    2023年04月15日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包