1.lvgl库在VS Code中PlatformIO平台的源码详细介绍
2.文华6指标/随身行APP---高低点指引器源码
3.Lvc语言Lvc语法概述
4.香橙派OrangePi Zero2通过ili9488显示lvgl
5.LVCçè¯ä»·
lvgl库在VS Code中PlatformIO平台的详细介绍
今天我花费了一整天的时间,深入研究了lvgl库及其模拟器在VS Code的源码PlatformIO插件中的使用方法。
lvgl是源码一个轻量级的图形界面库,主要用于为没有操作系统的源码设备提供图形化界面。
由于稚晖君的源码HoloCubic固件需要移植,我想先在电脑上进行模拟,源码朔源码燕窝包装于是源码开始探索这一领域。
我在B站上找到了一个教程,源码推荐使用VS Code + PlatformIO来构建lvgl图形界面和PC模拟器。源码在查阅官方文档后,源码我发现作者在GitHub上发布了支持该平台的源码demo,于是源码我开始研究这个库的工作原理和文件结构。
该项目在GitHub上,源码需要自行下载。源码
由于稚晖君的源码小电视分辨率是x,但默认demo的分辨率是一个很大的长方形。
推荐这个方法的B站UP主只教了如何安装,没有详细讲解lvgl库的使用方法,所以我只能在官网的算命源码易读网文档中寻找答案。(顺便提一下,官网是全英文的,但谷歌浏览器自带的翻译功能非常出色,基本翻译一遍,再对照英文原文就能理解意思,没有之前学校里做英语阅读理解的厌恶感。不得不承认谷歌yyds,百度毁了我青春。)
如果有小伙伴还没有安装,可以先看他的视频:
项目结构
所有的库文件和demo源代码都在名为.pio的文件夹里。
注意:如果重复编译时出现错误,需要手动删除build文件夹,再重新编译!
(现在想想,.pio文件夹下的内容可能是在platformIO的.ini配置文件中填写了其在GitHub的URL,然后自动从代码仓库拉取的。只是个人猜测,还没有验证过,arm源码编译docker希望各位批评指正。)
platformio.ini文件:
这是platformio用来自动补全文件的配置文件,在这里可以设置lvgl的版本、lvgl的驱动版本、模拟器的分辨率等。
我当时并不知道如何调整分辨率,尝试了许多方法,一开始看到有人说在lv_drv_conf.h中修改,有人说在lv_conf.h中修改。于是我在.pio文件夹下研究了一个下午的源码。
最后,通过库编写者的友好注释,我成功地在lv_drv_conf.h中找到了名为SDL_HOR_RES(水平向分辨率)和SDL_VER_RES(竖直向分辨率)的两个宏定义常量。
然后根据注释的要求配置好,但发现调试出来的模拟器分辨率还是老样子!
就在绝望之际,我想起了platform的配置文件.ini,我打开扫视了一下,源码曹毅访谈竟然在这里发现了SDL_HOR_RES和SDL_VER_RES这两个常量和后面的值!我马上修改了这两个值,重新编译了一下(记得要删除build文件夹再重新编译),终于成功了!
所以在库配置文件中的,也就是lv_drv_conf.h和lv_conf.h中的分辨率设置,应该是实际在设备上运行时使用的。
本来只是想调整分辨率,结果我把库的源代码学了个遍。算是因祸得福吧。
真好,又是一个被封在家的一天。
我在上海闵行,听说我这里是重灾区,小区都封了,解封遥遥无期。但是对于技术宅来说,这简直太开心了!python审核系统源码(宅在家变成了正当理由哈哈哈)
文华6指标/随身行APP---高低点指引器源码
炒期货中,技术分析至关重要。了解了基本原理、优缺点及使用方法后,接下来我们将深入探讨文华6指标源码的编写,特别是高低指引器指标,其在文华6赢顺软件及随身行APP中(需付费使用)尤为适用。
在金融投资中,高点与低点的追求是投资者获取利润的焦点。然而,在期货市场中,发现没有绝对的顶点或底点。尽管如此,存在相对的局部高点与低点。
高低指引器指标,作为一款专门用于识别这些局部高点与低点的工具,帮助投资者做出交易决策。它通过判断市场趋势,为做多或做空提供指引。当出现“局部高点”时,建议采取做空策略;而当“局部低点”出现时,则应选择做多。
该指标通过红色与绿色箭头直观地展示了市场趋势。红色箭头代表多头趋势,而绿色箭头则表示空头趋势,从而帮助投资者在市场波动中快速捕捉到交易信号。
以下为高低指引器的部分源码(完整代码请访问公众号:智能云策略):
N:=1;
M:=1;
KK:=HV(H,N);
DD:=LV(L,N);
HH:=REF(H>HV(H,N),M)&&HHV(H,M)
LL:=REF(L<LV(L,N),M)
通过这段源码,投资者可以更好地理解和应用高低指引器指标,从而在期货交易中提高决策的准确性和交易效率。
Lvc语言Lvc语法概述
Lvc语言与标准C语言具有极高的兼容性,达到了%的相似度,它实际上是标准C的一个子集,不会引入额外的语法。这意味着Lvc源代码可以直接转换为C源代码,反之亦然,转换过程可能只需要少量或无需改动。 Lvc语言在嵌入式设备开发中展现出多方面的优势:跨平台性:无需对由源代码编译的Lvc文件做任何修改,即可在任何支持Lvc虚拟机的硬件平台上运行,无需重新编译,大大简化了部署流程。
高效开发:特别是在性能较低的CPU上,Lvc语言相比汇编语言开发效率更高。虽然高级语言的运行速度通常低于汇编,但Lvc通过虚拟机设计,对于速度敏感的计算,提供了可以直接调用的汇编语言编写的高效函数,确保了开发效率和运行效率的平衡。
安全性:在Lvc虚拟机上,只有虚拟机语言代码被允许执行,防止恶意代码的直接运行。同时,程序只能使用虚拟机分配的内存,防止非法内存访问对系统造成破坏,增强了系统的安全性。
易于维护和移植:使用汇编或C进行编程时,硬件或操作系统的变化通常需要大量修改或移植。然而,Lvc的跨平台特性使得在系统升级后,原有的Lvc程序几乎无需改动就能运行,大大降低了维护成本。
扩展资料
香橙派OrangePi Zero2通过ili显示lvgl
本文详细介绍了如何使用香橙派OrangePi Zero2通过ili显示lvgl。前置条件包括已接上并能正常显示的3.5英寸SPI显示屏,以及Ubuntu . LTS + Visual Studio Code开发环境,交叉编译器gcc-arm-9.2-.-x_-aarch-none-linux-gnu,以及lvgl源码。
在修改源码文件阶段,首先调整了lv_conf.h中的颜色深度为,以适应屏幕分辨率。接着在lv_drv_conf.h中将fb0修改为fb1,以适应特定配置。同时,修改了Makefile,注释掉原有CC,并指向自定义编译器目录。
编译过程在VSCode中进行,通过新建终端执行命令。编译完成后,可通过file命令检查运行平台类型,ARM aarch字样表示编译成功。此阶段,可将编译出的可执行文件通过ssh传输到香橙派进行运行。
对于鼠标显示功能的实现,考虑到屏幕未配备或未连接触摸屏,通过增加鼠标控制。在lv_drv_conf.h中选择鼠标作为事件源,并在main.c中注释掉触摸屏初始化,增加鼠标初始化。下载并整合鼠标_cursor_icon.c文件,随后修改Makefile,完成编译并上传至香橙派,以显示鼠标。
最后,为保持项目根目录简洁,修改Makefile以将编译输出文件导向指定目录。参考文章如Linuxlinux上使用lvgl、Linux 环境中使用 LVGL和Linux Framebuffer 实验,提供了进一步的学习资源和指导。
LVCçè¯ä»·
Lvcä¸æ åCæ%çå ¼å®¹åº¦ï¼èæ¯æ¯æ åCççåéï¼ç»ä¸æ·»å ä»»ä½å¤ä½è¯æ³ãä¹å°±æ¯è¯´ï¼ææLvcæºç¨åºå¯ç´æ¥è½¬æ¢ä¸ºCæºç¨åºï¼èCæºç¨åºè½¬æ¢ä¸ºLvcæºç¨åºä¹åªé¡»ç¨åæ¹å¨çè³ä¸åæ¹å¨ãLvcè¯è¨å¨åµå ¥è®¾å¤å¼åé¢åçä¼ç¹ï¼1ï¼è·¨å¹³å°ï¼ç±æºä»£ç ç¼è¯çlvcæ件ä¸åä»»ä½ä¿®æ¹å³å¯ç´æ¥å¨ä»»ä½æLvcèææºç硬件平å°ä¸æ§è¡,æ é¡»å次ç¼è¯ã
2ï¼å¼åæçé«ï¼å¨ä¸äºä½æ§è½CPUä¸ä¸è¬ä½¿ç¨æ±ç¼è¯è¨å¼åã使ç¨Lvcè¿ç§ç±»Cè¯è¨å¼åï¼æçè¿é«äºç¨æ±ç¼è¯è¨æ¥å¼åãæ人å¯è½æ å¿Lvcè¯è¨çè¿è¡æçé®é¢ãä»»ä½é«çº§è¯è¨çè¿è¡æçé½è¦ä½äºæ±ç¼ï¼è¿æ¯æ¯«æ çé®çãLvcèææºç大é¨åä¸é度ç¸å ³ç代ç é½æ¯ç¨æ±ç¼ç´æ¥ç¼åçï¼å¡æ¯å¯¹é度è¦æ±é«çè¿ç®ï¼Lvcèææºé½æä¾é«æçç¨æ±ç¼è¯è¨ç¼åçå½æ°ä¾ç¨åºåè°ç¨ãè¿å°±æ¢æ»¡è¶³äºå¼åçé«æçï¼å满足äºè¿è¡çé«æçã
3ï¼æ´å®å ¨ï¼å¨Lvcèææºä¸åªè½è¿è¡èææºè¯è¨ä»£ç ï¼ç®æ æºå¨ä»£ç æ¯ä¸å 许ç´æ¥è¿è¡çï¼è¿å°±é¿å äºæ¶æ代ç çæ§è¡ãå¨Lvcèææºä¸è¿è¡çç¨åºåªè½ä½¿ç¨èææºç»å®çå åï¼è¿ä¹é¿å äºéæ³å å访é®å¯¹ç³»ç»çç ´åã
4ï¼æ´å®¹æç»´æ¤å移æ¤ï¼å¦æç¨æ±ç¼æCç¼ç¨ï¼ç¡¬ä»¶æ´æ¢äºï¼æä½ç³»ç»æ´æ¢äºï¼åæ软件é½éè¦åå¤§å¹ åº¦çä¿®æ¹æ移æ¤ã跨平å°ç¹æ§ä¿è¯å¨ç³»ç»å级åï¼åæ软件å¯ä»¥å ä¹åå°ä¸å¨ç´æ¥æ¿æ¥è¿è¡ã