main
JiXieShi 2024-09-17 16:45:15 +08:00
parent 39654926be
commit 11600e4153
1 changed files with 50 additions and 19 deletions

View File

@ -8,24 +8,54 @@ extern "C" {
#include "stdint.h"
#include "stdlib.h"
/*功能配置区*/
//#define REFRESH_CALL_ENABLE 1 //使用DMA或者整体刷新函数
#define HZK_FONT //使用HZK 12/16 字体 tools下可自由生成
#define UTF8_TO_UNICODE //启用UTF8转换显示
//#define LVGL_FONT //启用LVGL字体
/*启用设备配置区*/
#define TFT_ST7735 0x5CU
#define TFT_ST7796 0xACU
#define TFT_ST7796 0x1E74U
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);
/**
* @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);
/**
* @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);
/**
* @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);
/**
@ -55,7 +85,7 @@ typedef void (*TFT_REFRESH_t)(TFT_T *dev);
* @brief TFT
*/
typedef enum {
TFT_ERROR,
TFT_ERROR,/**< 错误状态 */
TFT_IDLE, /**< 空闲状态 */
TFT_WRITE, /**< 写入状态 */
TFT_REFRESH, /**< 刷新状态 */
@ -78,10 +108,10 @@ typedef union TFT_Color {
* @brief TFT
*/
struct TFT_Dev {
uint32_t id;
uint8_t setxcmd;
uint8_t setycmd;
uint8_t wgramcmd;
uint32_t id; /**< TFT设备ID */
uint8_t setxcmd; /**< 设置X坐标命令 */
uint8_t setycmd; /**< 设置Y坐标命令 */
uint8_t wgramcmd; /**< 写GRAM命令 */
TFT_DIR_T dir: 4; /**< 显示方向占4位 */
TFT_STATE_T state: 4; /**< TFT状态占4位 */
uint16_t width; /**< 显示宽度 */
@ -96,6 +126,7 @@ struct TFT_Dev {
TFT_REFRESH_t call; /**< TFT刷新函数指针仅在REFRESH_CALL_ENABLE宏定义启用时有效 */
#endif
};
/**
* @brief TFT
* @param dev: [] TFT