📄 lcd_text.h
字号:
#if TEXT_AVER_WIDTH == 9
#define MAX_LCD_TEXT 32 /* 最大可显示的字符为 (320/9), 同时这里再考虑旁边的边框多加一点,故仅用32个字符 */
#define MAX_TITLE_TEXT 32
#define MAX_INPUT_TEXT 32
#define MAX_SUB_TEXT 32
#define MAX_POP_TEXT 32 /* 为了统一,这个也是设置成了32个字符的宽度 */
#define MAX_TEXT MAX_LCD_TEXT
#if MAX_LCD_TEXT == MAX_STAT_TEXT && MAX_LCD_TEXT == MAX_INPUT_TEXT && MAX_LCD_TEXT == MAX_SUB_TEXT
#define MAX_LCD2_LEN MAX_LCD_TEXT
#endif
#endif // TEXT_AVER_WIDTH
#if LCD_LAYOUT_HOR_LINE == 13
#define LCD_TEXT_BTN_HEIGHT 8 // 显示文本区所占的按键的高度
#define DISP_SGN_BTN_HEIGHT 37 // 每一个最薄的按键的高度
#define DISP_LCD_TEXT_LINE 18 // (8*37-1-2-2-2)/(13+3) = 18,
#define MAX_LCD_TEXT_LINE 200 // 仅开辟200行的空间用于显示
#define POP_TEXT_BTN_HEIGHT 4 // 弹出文本区所占的按键的高度
// #define DISP_SGN_BTN_HEIGHT 37 // 每一个最薄的按键的高度
#define DISP_POP_TEXT_LINE 8 // (4*37-1-2-2-2)/(13+3) = 8,
#define MAX_POP_TEXT_LINE 20 // 有20行已经足够用于显示了
#elif LCD_LAYOUT_HOR_LINE == 10
#define LCD_TEXT_BTN_HEIGHT 6 // 显示文本区所占的按键的高度
#define DISP_SGN_BTN_HEIGHT 48 // 每一个最薄的按键的高度
#define DISP_LCD_TEXT_LINE 16 // (6*48-1-2-2-2)/(13+3) = 17,
#define MAX_LCD_TEXT_LINE 200 // 仅开辟200行的空间用于显示
#define POP_TEXT_BTN_HEIGHT 3 // 弹出文本区所占的按键的高度
// #define DISP_SGN_BTN_HEIGHT 37 // 每一个最薄的按键的高度
#define DISP_POP_TEXT_LINE 8 // (4*37-1-2-2-2)/(13+3) = 8,
#define MAX_POP_TEXT_LINE 20 // 有20行已经足够用于显示了
#else // LCD_LAYOUT_HOR_LINE
#define LCD_TEXT_BTN_HEIGHT 9 // 显示文本区所占的按键的高度
#define DISP_SGN_BTN_HEIGHT 46 // 每一个最薄的按键的高度
#define DISP_LCD_TEXT_LINE 24 // (9*46-1-2-2-2)/(13+3) = 17,
#define MAX_LCD_TEXT_LINE 200 // 仅开辟200行的空间用于显示
#define POP_TEXT_BTN_HEIGHT 3 // 弹出文本区所占的按键的高度
// #define DISP_SGN_BTN_HEIGHT 37 // 每一个最薄的按键的高度
#define DISP_POP_TEXT_LINE 8 // (4*37-1-2-2-2)/(13+3) = 8,
#define MAX_POP_TEXT_LINE 20 // 有20行已经足够用于显示了
#endif // LCD_LAYOUT_HOR_LINE
typedef struct{ /* The lcd text definition */
byte cur_line; /*当前显示行 (0 ~ MAX_LCD_TEXT_LINE-1) */
byte fst_line; /*允许反显的起始行号(0 ~ MAX_LCD_TEXT_LINE-1)*/
byte max_line; /*当前最大显示行 (1 ~ MAX_LCD_TEXT_LINE) */
byte dsp_line_st; /* 当前页显示起始行 (0~MAX_LCD_TEXT_LINE-1) */
byte dsp_line_new; /* 准备插入显示行位置,一般在队尾插入, 但是也可以在中间插入 (0~MAX_LCD_TEXT_LINE-1) */
char text[MAX_LCD_TEXT_LINE][MAX_LCD_TEXT];
}LCD_TEXT_DEF; /* 7205 bytes */
/*
Note: The dsp_line_end may be smaller than the
说明: 这里面的数组部能够开到255个字节,因为在程序的算法中,因为在程序的某些地方还
采用了一种快速特殊算法,是直接相加而后判断的。
*/
typedef struct{ /* The lcd text definition */
byte cur_line; /* Current line (1~MAX_LCD_TEXT_LINE) */
byte max_line; /* The maximum line (1~MAX_LCD_TEXT_LINE) */
byte dsp_line_st; /* The start display line (0~MAX_LCD_TEXT_LINE-1) */
byte dsp_line_new;/* The new display line (0~MAX_LCD_TEXT_LINE-1) */
char text[MAX_POP_TEXT_LINE][MAX_POP_TEXT]; /* 如果这里的数组过大,则下面的指针需要另外做一些处理 */
}POP_TEXT_DEF; /* 7205 bytes */
char Tl_Title[MAX_TITLE_TEXT];
char Tl_Input[MAX_INPUT_TEXT]; /* The input data */
char Tl_Sub[MAX_SUB_TEXT]; /* The subtotal data, temporary use the LCD_LINE_TEXT_DEF */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -