STM32_WGY/User/Lcd_drv.h

49 lines
1.1 KiB
C

#ifndef USER_LCD_DRV_PRESENT
#define USER_LCD_DRV_PRESENT
#include "type.h"
void LCD_Init();
void LCD_MyOpen();
// 任务主体
void Lcd_Task(void *p_arg);
#pragma pack(push, 1)
// 显示缓冲区
typedef struct
{
u8 cmd;
u8 addr;
u8 buf[14];
// 一些特殊显示的标志位,比如闪烁显示
// 这部分数据不在缓冲区内容里面,只是作为标记使用
// 但是要用于比较,以决定是否需要更新
unsigned fld1_blink : 1; // 显示1是否闪烁
unsigned : 3;
unsigned battery_blink : 1; // 电池是否闪烁
unsigned blink_visible: 1; // 闪烁状态:亮还是熄
unsigned : 2;
unsigned cursor_pos : 4; // 光标位置
unsigned cursor_width : 4; // 光标长度
} TVideoBuf;
#pragma pack(pop)
extern TVideoBuf VideoBuf;
void HT1621_WriteBuf(u16 pin_com, u8 bit_val);
void HT1621_Refresh();
void HT1621_AllOff();
void HT1621_AllOn();
// 写一个七段码字符
void HT1621_WriteChar(char c, u16 pin_comA, u16 pin_comB, u16 pin_comC, u16 pin_comD, u16 pin_comE, u16 pin_comF, u16 pin_comG);
// 写一个七段码数据
void HT1621_Write7Seg(u8 val, u16 pin_comA, u16 pin_comB, u16 pin_comC, u16 pin_comD, u16 pin_comE, u16 pin_comF, u16 pin_comG);
#endif