- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 嵌入式软件设计与模块化编程通用规范
确定模块与类概念:模块——有独立的输入依赖适配文件,方便移植。每个驱动就是一个模块,而且是有固定的输出接口是一个特殊的模块。类——无独立的输入依赖适配文件。如user,sys。为了更好的移植,适配,快速完成器件替换,组件替换。所有有代码都要归到相应的模块或者类里面。一、驱动编写flash为例:flash_port_xxx.c//输入依赖flash_drv_xxx_xxx.c//驱动实现flash_api_xxx.c//输出接口二、文件系统移植fs_port_xxx.c//输
2022-05-07 16:57:22 1438
原创 嵌入式互拆锁的创建
1、互拆锁的作用是防止,共享的接口被重入。2、创互拆的位置void user_run(void){ // 以下三行代码必须位置顺序固定 init_before_task(); user_task_init(); user_lock_init(); // Start the scheduler. vTaskStartScheduler();}*任务前创建:由创建了信号量,如果在系统没起来之前有使用会卡死,所以要加一个系统起来判断 。*任务中...
2022-03-24 10:10:01 357
原创 LVGL-tileview控件
控件特点以page为基础扩展的控件,增加了释放后会有动画定格效果。lv_tileview_set_tile_act(tileview, ext->act_id.x + x_move, ext->act_id.y + y_move, true);//切入时开启动画效果。static void drag_end_handler(lv_obj_t * tileview){ lv_tileview_ext_t * ext = lv_obj_get_ext_attr(tilevie
2022-03-17 15:37:48 1988
原创 LVGL-obj对象
对象创建1、lv中所有的对象都以obj为基础进行扩展的。创建对象时父对象是空,则在显示器屏链表增加一个节点,父对象非空则在其子链表增加一个节点。创建完成会通过parent->signal_cb(parent, LV_SIGNAL_CHILD_CHG, new_obj)通知父对象。lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy){ lv_obj_t * new_obj = NULL; /*C
2022-03-15 18:48:28 1805
原创 LVGL-style
style的接口1、接口名通过宏定义来申请名(这里只是申明),每一种type都会有三个接口。get_style//获取某种style_type的风格。优先返回local值。set_style//设置某种style_type的风格会修改静态style的内容,从而也会改变其它引用了些静态style的控件。set_style_local//设置某种style_type的风格只作用于当前对象。#define _LV_OBJ_STYLE_SET_GET_DECLARE(prop_name, fu
2022-03-15 15:38:58 938
原创 LVGL-label控件
1、label的对齐方式 lv_obj_set_width(label, LV_HOR_RES_MAX);// lv_obj_align(label, parent, LV_ALIGN_IN_TOP_MID, 0, 95 + (j*157));//文本控件的对齐方式 lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK); lv_label_set_align(label, LV_LABEL_AL...
2022-03-12 20:28:03 3383
原创 LVGL-输入设备LV_INDEV_TYPE_POINTER类型
LV_INDEV_TYPE_POINTER类型调用过程:void _lv_indev_read_task(lv_task_t * task)//定进运行的输入任务。static void indev_pointer_proc(lv_indev_t * i, lv_indev_data_t * data)//static void indev_proc_press(lv_indev_proc_t * proc)//按下的处理static void indev_proc_...
2022-03-10 22:15:39 1153
原创 LVGL-page控件
page的子对象1、控件创建时会发送信号给它的父对象:lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy){…… /*Send a signal to the parent to notify it about the new child*/ if(parent != NULL) { parent->signal_cb(parent, LV_SIGNAL_CHILD_CHG...
2022-03-10 17:06:08 1352
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人