摘要:
1、硬件对比 屏幕尺寸: 800*480 颜色格式: RGB565 一帧数据: 800*480*2 = 768000 = 750k LCD 频率 : 32MHz/768000 = 41 HZ lvgl fps : 33 优化等级: AC5-O3 新硬件:GD32F470II SDRAM : 32bi 阅读全文
摘要:
A5里有个叫CMsgBridge的消息桥,在软件的结构设计和模块设计方面很有研究价值 1 /*! 2 \brief MsgBridge客户类型 3 */ 4 typedef enum 5 { 6 MSB_TYPE_NULL,/*!< 空类型 */ 7 MSB_TYPE_HOST,/*!< 主类 */ 阅读全文
摘要:
移植了FREERTOS后就创建了几个TASK,内核中断和TASK之间一直用共享内存和全局变量进行通讯。这样做对于一个简单的工程来说虽然也没什么,但是随着内容的增加,代码结构会越来越臃肿丑陋,且缺少结构性。而没用到队列通信,信号量同步这些,也实在不能说了解和会用FREERTOS,整个工程也缺少了灵魂。 阅读全文
摘要:
1、搜索【Vector Magic Desktop Edition】下载安装 百毒网盘地址: 链接:https://pan.baidu.com/s/1g-eyYtbzEFYpqKzRc6ieLg?pwd=6l9s 提取码:6l9s 2、通过VMDE将PNG图片转成SVG文件 选择系统默认的选项一路走 阅读全文
摘要:
使用的是野火的技术,在此仅自己过一遍这个过程。 他提供了两种方法,第一种自动分配变量到外部 SRAM 空间,有个缺陷是堆分配会失败,因此这个方法仅仅学习下,不能再实际工程中引用 第二种就是代码执行域和栈区还是在SRAM,将堆区放在了SDRAM,然后定义大数组的时候把大数组也定义在SDRAM上。 阅读全文
摘要:
通过函数lv_obj_invalidate(OBJ)可以刷新对象OBJ的显示。 但是实际使用过程中却会存在问题。 使用PC模拟器能正常刷新的对象,在板子上就会非常卡。 这个应该是跟LVGL的刷新机制有关。 LVGL内核会把需要刷新的对象放在链表里遍历刷新,理论上应该都能刷新到。但实际使用中就是有些对 阅读全文
摘要:
先从官方的这个简单的例子来入手: 1 /** 2 * A simple grid 3 */ 4 void lv_example_grid_1(void) 5 { 6 static lv_coord_t col_dsc[] = {70, 70, 70, LV_GRID_TEMPLATE_LAST}; 阅读全文
摘要:
网上搜索到的解决方案都没有解决此问题: https://blog.csdn.net/weixin_46022757/article/details/106593928 网上的解决方案贴出来如下: 然后我 的情况是 CS脚配置成了 AF模式,改成OUT模式就正常了。 阅读全文
摘要:
这个方案还是有点复杂的,需要好好记录下来,防止写完就忘,后面不好维护。 理解这个灯环方案首先要了解574的工作原理。 我一开始看到电路图想当然的认为就是输入什么输出什么,其实也没错,但是!人家是寄存器!人家会一直保存着数据,即使没有片选,它里面的数据也是在的! 数据锁存和不锁存对灯环的驱动方案是完全 阅读全文
摘要:
贴上百度百科74HC165的基本信息 我们的方案是采用两个165芯片级联,读取16个按键信息 1 UINT8 HAL_Btn_Read74HCT165(void) 2 { 3 UINT8 i; 4 UINT16 ret=0; 6 KEY_SE_CLR; 8 KEY_SE_SET; 10 ret |= 阅读全文