UP tft
parent
39654926be
commit
11600e4153
|
@ -8,24 +8,54 @@ extern "C" {
|
||||||
#include "stdint.h"
|
#include "stdint.h"
|
||||||
#include "stdlib.h"
|
#include "stdlib.h"
|
||||||
|
|
||||||
|
/*功能配置区*/
|
||||||
//#define REFRESH_CALL_ENABLE 1 //使用DMA或者整体刷新函数
|
//#define REFRESH_CALL_ENABLE 1 //使用DMA或者整体刷新函数
|
||||||
#define HZK_FONT //使用HZK 12/16 字体 tools下可自由生成
|
#define HZK_FONT //使用HZK 12/16 字体 tools下可自由生成
|
||||||
#define UTF8_TO_UNICODE //启用UTF8转换显示
|
#define UTF8_TO_UNICODE //启用UTF8转换显示
|
||||||
//#define LVGL_FONT //启用LVGL字体
|
//#define LVGL_FONT //启用LVGL字体
|
||||||
|
|
||||||
|
/*启用设备配置区*/
|
||||||
#define TFT_ST7735 0x5CU
|
#define TFT_ST7735 0x5CU
|
||||||
#define TFT_ST7796 0xACU
|
#define TFT_ST7796 0x1E74U
|
||||||
|
|
||||||
typedef struct TFT_Dev TFT_T;
|
typedef struct TFT_Dev TFT_T;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 写寄存器数据函数指针类型
|
||||||
|
* @param reg: [输入] 寄存器地址
|
||||||
|
* @param pdata: [输入] 数据缓冲区指针
|
||||||
|
* @param ldata: [输入] 数据长度
|
||||||
|
* @return uint8_t 返回状态
|
||||||
|
* @example write_status = TFT_WRITE_REG(reg_addr, data_buffer, data_length);
|
||||||
|
**/
|
||||||
typedef uint8_t (*TFT_WRITE_REG_t)(uint8_t reg, uint8_t *pdata, size_t ldata);
|
typedef uint8_t (*TFT_WRITE_REG_t)(uint8_t reg, uint8_t *pdata, size_t ldata);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 读寄存器数据函数指针类型
|
||||||
|
* @param reg: [输入] 寄存器地址
|
||||||
|
* @param pdata: [输出] 数据缓冲区指针
|
||||||
|
* @param ldata: [输入] 数据长度
|
||||||
|
* @return uint8_t 返回状态
|
||||||
|
* @example read_status = TFT_READ_REG(reg_addr, data_buffer, data_length);
|
||||||
|
**/
|
||||||
typedef uint8_t (*TFT_READ_REG_t)(uint8_t reg, uint8_t *pdata, size_t ldata);
|
typedef uint8_t (*TFT_READ_REG_t)(uint8_t reg, uint8_t *pdata, size_t ldata);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 发送数据函数指针类型
|
||||||
|
* @param data: [输入] 数据缓冲区指针
|
||||||
|
* @param len: [输入] 数据长度
|
||||||
|
* @return uint8_t 返回状态
|
||||||
|
* @example send_status = TFT_SEND_DATA(data_buffer, data_length);
|
||||||
|
**/
|
||||||
typedef uint8_t (*TFT_SEND_DATA_t)(uint8_t *data, size_t len);
|
typedef uint8_t (*TFT_SEND_DATA_t)(uint8_t *data, size_t len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 接收数据函数指针类型
|
||||||
|
* @param data: [输出] 数据缓冲区指针
|
||||||
|
* @param len: [输入] 数据长度
|
||||||
|
* @return uint8_t 返回状态
|
||||||
|
* @example recv_status = TFT_RECV_DATA(data_buffer, data_length);
|
||||||
|
**/
|
||||||
typedef uint8_t (*TFT_RECV_DATA_t)(uint8_t *data, size_t len);
|
typedef uint8_t (*TFT_RECV_DATA_t)(uint8_t *data, size_t len);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -55,7 +85,7 @@ typedef void (*TFT_REFRESH_t)(TFT_T *dev);
|
||||||
* @brief TFT状态枚举
|
* @brief TFT状态枚举
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
TFT_ERROR,
|
TFT_ERROR,/**< 错误状态 */
|
||||||
TFT_IDLE, /**< 空闲状态 */
|
TFT_IDLE, /**< 空闲状态 */
|
||||||
TFT_WRITE, /**< 写入状态 */
|
TFT_WRITE, /**< 写入状态 */
|
||||||
TFT_REFRESH, /**< 刷新状态 */
|
TFT_REFRESH, /**< 刷新状态 */
|
||||||
|
@ -78,24 +108,25 @@ typedef union TFT_Color {
|
||||||
* @brief TFT设备结构体
|
* @brief TFT设备结构体
|
||||||
*/
|
*/
|
||||||
struct TFT_Dev {
|
struct TFT_Dev {
|
||||||
uint32_t id;
|
uint32_t id; /**< TFT设备ID */
|
||||||
uint8_t setxcmd;
|
uint8_t setxcmd; /**< 设置X坐标命令 */
|
||||||
uint8_t setycmd;
|
uint8_t setycmd; /**< 设置Y坐标命令 */
|
||||||
uint8_t wgramcmd;
|
uint8_t wgramcmd; /**< 写GRAM命令 */
|
||||||
TFT_DIR_T dir: 4; /**< 显示方向,占4位 */
|
TFT_DIR_T dir: 4; /**< 显示方向,占4位 */
|
||||||
TFT_STATE_T state: 4; /**< TFT状态,占4位 */
|
TFT_STATE_T state: 4; /**< TFT状态,占4位 */
|
||||||
uint16_t width; /**< 显示宽度 */
|
uint16_t width; /**< 显示宽度 */
|
||||||
uint16_t height; /**< 显示高度 */
|
uint16_t height; /**< 显示高度 */
|
||||||
TFT_WRITE_REG_t writeReg; /**< 写寄存器函数指针 */
|
TFT_WRITE_REG_t writeReg; /**< 写寄存器函数指针 */
|
||||||
TFT_READ_REG_t readReg; /**< 读寄存器函数指针 */
|
TFT_READ_REG_t readReg; /**< 读寄存器函数指针 */
|
||||||
TFT_SEND_DATA_t sendData; /**< 发送数据函数指针 */
|
TFT_SEND_DATA_t sendData; /**< 发送数据函数指针 */
|
||||||
TFT_RECV_DATA_t recvData; /**< 接收数据函数指针 */
|
TFT_RECV_DATA_t recvData; /**< 接收数据函数指针 */
|
||||||
TFT_BLACKLIGHT_t blacklight; /**< TFT背光控制函数指针 */
|
TFT_BLACKLIGHT_t blacklight; /**< TFT背光控制函数指针 */
|
||||||
TFT_DELAY_t delay; /**< TFT延迟函数指针类型 */
|
TFT_DELAY_t delay; /**< TFT延迟函数指针类型 */
|
||||||
#if REFRESH_CALL_ENABLE
|
#if REFRESH_CALL_ENABLE
|
||||||
TFT_REFRESH_t call; /**< TFT刷新函数指针,仅在REFRESH_CALL_ENABLE宏定义启用时有效 */
|
TFT_REFRESH_t call; /**< TFT刷新函数指针,仅在REFRESH_CALL_ENABLE宏定义启用时有效 */
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 初始化TFT显示屏
|
* @brief 初始化TFT显示屏
|
||||||
* @param dev: [输入] TFT设备结构体指针
|
* @param dev: [输入] TFT设备结构体指针
|
||||||
|
|
Loading…
Reference in New Issue