IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 龙邱RT1052移植中景园tft1.14寸屏 -> 正文阅读

[嵌入式]龙邱RT1052移植中景园tft1.14寸屏

因为使用的是软件SPI,比较简单,只要两步就能移植成功:
文件下载:https://wwi.lanzoup.com/ivAfY04el1ef
中景园官方源文件:https://pan.baidu.com/s/1wMQckYIXUWlyOZ6CDWl-9g 提取码:8888

1.修改指定的引脚和头文件

把中景园lcd_init.c(.h)官方初始化源文件的引脚

#define LCD_SCLK_Clr() GPIO_ResetBits(GPIOG,GPIO_Pin_12)//SCL=SCLK
#define LCD_SCLK_Set() GPIO_SetBits(GPIOG,GPIO_Pin_12)

#define LCD_MOSI_Clr() GPIO_ResetBits(GPIOD,GPIO_Pin_5)//SDA=MOSI
#define LCD_MOSI_Set() GPIO_SetBits(GPIOD,GPIO_Pin_5)

#define LCD_RES_Clr()  GPIO_ResetBits(GPIOD,GPIO_Pin_4)//RES
#define LCD_RES_Set()  GPIO_SetBits(GPIOD,GPIO_Pin_4)

#define LCD_DC_Clr()   GPIO_ResetBits(GPIOD,GPIO_Pin_15)//DC
#define LCD_DC_Set()   GPIO_SetBits(GPIOD,GPIO_Pin_15)
 		     
#define LCD_CS_Clr()   GPIO_ResetBits(GPIOD,GPIO_Pin_1)//CS
#define LCD_CS_Set()   GPIO_SetBits(GPIOD,GPIO_Pin_1)

#define LCD_BLK_Clr()  GPIO_ResetBits(GPIOE,GPIO_Pin_8)//BLK
#define LCD_BLK_Set()  GPIO_SetBits(GPIOE,GPIO_Pin_8)

改成自己板子的引脚,和龙邱的操作方式
(注意自己板子的)

#define LCD_CS_Clr()   LQ_PinWrite(D11, 0U)//CS
#define LCD_CS_Set()   LQ_PinWrite(D11, 1U)

#define LCD_SCLK_Clr() LQ_PinWrite(D12, 0U) //SCLK=SCL
#define LCD_SCLK_Set() LQ_PinWrite(D12, 1U)

#define LCD_MOSI_Clr() LQ_PinWrite(E12, 0U) //MOSI=SDA
#define LCD_MOSI_Set() LQ_PinWrite(E12, 1U)

#define LCD_RES_Clr()  LQ_PinWrite(B13, 0U) //RST
#define LCD_RES_Set()  LQ_PinWrite(B13, 1U)

#define LCD_DC_Clr()   LQ_PinWrite(E11, 0U) //DC
#define LCD_DC_Set()   LQ_PinWrite(E11, 1U)

#define LCD_BLK_Clr()  LQ_PinWrite(G11, 0U)//BLK
#define LCD_BLK_Set()  LQ_PinWrite(G11, 1U)

并修改LCD_GPIO_Init(void)引脚初始化函数为龙邱的方式:
(这段代码直接去龙邱的lcd文件里复制就行)

void LCD_GPIO_Init(void)
{
	//-----端口初始化----//
    CLOCK_EnableClock(kCLOCK_Iomuxc);           // IO口时钟使能
    IOMUXC_SetPinMux(IOMUXC_GPIO_B1_05_GPIO2_IO21,0U);                                                          
    IOMUXC_SetPinMux(IOMUXC_GPIO_B1_04_GPIO2_IO20, 0U);
    IOMUXC_SetPinMux(IOMUXC_GPIO_B1_10_GPIO2_IO26, 0U);
    IOMUXC_SetPinMux(IOMUXC_GPIO_B0_15_GPIO2_IO15, 0U);
    IOMUXC_SetPinMux(IOMUXC_GPIO_B1_03_GPIO2_IO19, 0U);
    
    IOMUXC_SetPinConfig(IOMUXC_GPIO_B1_05_GPIO2_IO21,0x10B0u);                                                   
    IOMUXC_SetPinConfig(IOMUXC_GPIO_B1_04_GPIO2_IO20,0x10B0u);
    IOMUXC_SetPinConfig(IOMUXC_GPIO_B1_10_GPIO2_IO26,0x10B0u);
    IOMUXC_SetPinConfig(IOMUXC_GPIO_B0_15_GPIO2_IO15,0x10B0u); 
    IOMUXC_SetPinConfig(IOMUXC_GPIO_B1_03_GPIO2_IO19,0x10B0u); 
    //输出口管脚配置结构体
        gpio_pin_config_t GPIO_Output_Config = {kGPIO_DigitalOutput, //GPIO为输出方向
                                                1,                   //高电平
                                                kGPIO_NoIntmode      //非中断模式
                                                };  
        
    GPIO_PinInit(GPIO2, 21, &GPIO_Output_Config);      // CS   D12
    GPIO_PinInit(GPIO2, 20, &GPIO_Output_Config);      // SCL  E12
    GPIO_PinInit(GPIO2, 26, &GPIO_Output_Config);      // SDI  B13
    GPIO_PinInit(GPIO2, 15, &GPIO_Output_Config);      // DC   E11 
    GPIO_PinInit(GPIO2, 19, &GPIO_Output_Config);      // RST  D11
}

**注意这里:**龙邱的默认结构体写的是0,引脚初始化低电平。要改成高电平才能使能屏幕。不然点不亮
在这里插入图片描述
完成后在文件开头加上要用到的.h文件
把stm32自带的定义变量类型的头文件"sys.h"换成"stdint.h"

2.替换delay延时函数

因为中景园用的是stm32自带的delay.h文件里的delay函数
我们要换成龙邱写法的函数
把开头的include "delay.h"散掉
并把这段代码加到代码的开头

void delay_ms(uint16_t ms) //移植 延时时间
{
	volatile uint32_t i = 0;
	while(ms--)
	{
		for (i = 0; i < 20000; ++i)
		{
			__asm("NOP"); /* delay */
		}
	}	
}

其他主体代码就不用改了

在main.c里输入以下代码试试效果吧:

	LQ_PinInit(G11, PIN_MODE_OUTPUT, 1);//初始化BL背光
	LQ_PinWrite(G11, 1U);
	
	LCD_Init();
	LCD_Fill(0,0,LCD_W,LCD_H,WHITE); //初始化背景为白色
	LCD_ShowChinese(40,0,"中景园电子",RED,WHITE,32,0);
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-10 12:04:54  更:2022-05-10 12:06:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 15:23:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码