LCM_DRIVER是我接触的第一个结构体,先来看看这个结构体的定义,除了第一个属于是const char *之外,其余的都属于是函数指针
typedef struct {
const char *name; // 只能一次进行初始化,初始化后不可改变
void (*set_util_funcs) (const LCM_UTIL_FUNCS *util);
void (*get_params) (LCM_PARAMS *params);
void (*init) (void);
void (*suspend) (void);
void (*resume) (void);
/* for power-on sequence refinement */
void (*init_power) (void);
void (*suspend_power) (void);
void (*resume_power) (void);
void (*update) (unsigned int x, unsigned int y, unsigned int width, unsigned int height);
unsigned int (*compare_id) (void);
#if defined(MTK_LCM_DEVICE_TREE_SUPPORT)
void (*parse_dts)(const LCM_DTS *DTS, unsigned char force_update);
#endif
/* /////////////////////////CABC backlight related function */
void (*set_backlight) (unsigned int level);
void (*set_backlight_cmdq) (void *handle, unsigned int level);
void (*set_pwm) (unsigned int divider);
unsigned int (*get_pwm) (unsigned int divider);
void (*set_backli

本文探讨了LCM_DRIVER结构体,重点关注其const char *成员和各种函数指针。LCM_PARAMS结构体内包括的设备宽度和高度等参数引发疑问,特别是设置实际尺寸后为何还需要width和height。此外,LCM_TYPE揭示了lcm与host间的接口,如DPI模式下可选择serial_dbi或gpio,LCM_INTERFACE_ID结构体进一步定义了这些接口。
最低0.47元/天 解锁文章
3626

被折叠的 条评论
为什么被折叠?



