77 lines
1.8 KiB
C
77 lines
1.8 KiB
C
|
#ifndef TFT_H
|
||
|
#define TFT_H
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
#include "stdint.h"
|
||
|
|
||
|
#define REFRESH_CALL_ENABLE 1 //使用DMA或者整体刷新函数
|
||
|
#define HZK_FONT //使用HZK 12/16 字体 tools下可自由生成
|
||
|
#define UTF8_TO_UNICODE //启用UTF8转换显示
|
||
|
//#define LVGL_FONT //启用LVGL字体
|
||
|
|
||
|
typedef struct TFT_Dev TFT_T;
|
||
|
|
||
|
/**
|
||
|
* @brief TFT命令处理函数指针类型
|
||
|
* @param data: [输入] 数据指针
|
||
|
* @param len: [输入] 数据长度
|
||
|
* @return uint8_t 返回值
|
||
|
*/
|
||
|
typedef uint8_t (*TFT_CMD_t)(uint8_t *data, size_t len);
|
||
|
|
||
|
/**
|
||
|
* @brief TFT数据处理函数指针类型
|
||
|
* @param data: [输入] 数据指针
|
||
|
* @param len: [输入] 数据长度
|
||
|
* @return uint8_t 返回值
|
||
|
*/
|
||
|
typedef uint8_t (*TFT_DATA_t)(uint8_t *data, size_t len);
|
||
|
|
||
|
/**
|
||
|
* @brief TFT背光控制函数指针类型
|
||
|
* @param data: [输入] 数据指针
|
||
|
* @return uint8_t 返回值
|
||
|
*/
|
||
|
typedef uint8_t (*TFT_BLACKLIGHT_t)(uint8_t data);
|
||
|
|
||
|
#if REFRESH_CALL_ENABLE
|
||
|
|
||
|
/**
|
||
|
* @brief TFT 刷新函数指针类型
|
||
|
*/
|
||
|
typedef void (*TFT_REFRESH_t)(TFT_T *dev);
|
||
|
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* @brief TFT状态枚举
|
||
|
*/
|
||
|
typedef enum {
|
||
|
IDLE, /**< 空闲状态 */
|
||
|
WRITE, /**< 写入状态 */
|
||
|
REFRESH, /**< 刷新状态 */
|
||
|
} TFT_STATE_T;
|
||
|
|
||
|
/**
|
||
|
* @brief TFT设备结构体
|
||
|
*/
|
||
|
struct TFT_Dev {
|
||
|
uint8_t dir; /**< 显示方向 */
|
||
|
uint8_t width; /**< 显示宽度 */
|
||
|
uint8_t height; /**< 显示高度 */
|
||
|
TFT_STATE_T state; /**< TFT状态 */
|
||
|
TFT_CMD_t cmd; /**< TFT命令处理函数指针 */
|
||
|
TFT_DATA_t data; /**< TFT数据处理函数指针 */
|
||
|
TFT_BLACKLIGHT_t blacklight; /**< TFT背光控制函数指针 */
|
||
|
#if REFRESH_CALL_ENABLE
|
||
|
TFT_REFRESH_t call; /**< TFT刷新函数指针 */
|
||
|
#endif
|
||
|
};
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
#endif //TFT_H
|