专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

GuiLite移植到STM32F4开发板上

  大家好,最近在做Github找到一个有趣的开源Gui框架:GuiLite,按照说明移植了GuiLite到STM32F4OLED屏幕上,分析一下自己的移植经验。
  01hrGuiLite介绍
  GuiLite是一个开源的Gui框架,只依赖于一个单一的头文件库(GuiLite。h),不需要很复杂的文件管理,代码量平易近人。
  GuiLite由4千行C代码编写,单片机上也能流畅运行,其最低的硬件运行要求如下:
  CPU主频ROM大小RAM大小24MHZ29KB9KB
  同时GuiLite具有很强的跨平台特性:支持的操作系统:iOSmacOSWatchOS,Android,Linux(ARMx8664),Windows(包含VR),RTOS甚至无操作系统的单片机支持的开发语言:CC,Swift,Java,Javascript,C,Golang支持的第3方库:Qt,MFC,Winforms,CoCoa
  除此之外,GuiLite提供一系列辅助开发工具:完美的云物联网解决方案:让你轻松驾驭全球IoT业务支持多语言,采用UTF8编码;支持视频播放资源制作工具为你定制自己的字体图片资源所见即所得的GUI布局工具编译活跃度统计,及实时分析支持3DWeb支持Docker,一条命令启动。
  02hrGuiLite移植2。1硬件准备
  2。2驱动准备
  这里我使用STM32CubeMX对开发板进行外设配置,开启STM32的硬件IIC,这里我用CubeMX开启后如下:
  配置完成生成代码,同时将分配的堆空间增大:
  代码生成后,我们复制正点原子的OLED驱动工程代码到Hardware硬件目录下(自己创建一个该目录)
  在MDK里面添加文件,然后我们进行修改,注释掉头文件里面关于端口的定义,同时添加三个类型宏定义
  嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
  无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。
  点击这里找小助理0元领取:嵌入式物联网学习资料(头条)
  然后我们进入oled。c文件,将voidOLEDWRByte(u8dat,u8cmd)和voidOLEDInit(void)函数分别替换为下面的内容:
  OLEDWRByte:voidOLEDWRByte(u8dat,u8cmd){if(cmd)HALI2CMemWrite(hi2c1,0x78,0x40,I2CMEMADDSIZE8BIT,dat,1,0x100);elseHALI2CMemWrite(hi2c1,0x78,0x00,I2CMEMADDSIZE8BIT,dat,1,0x100);}
  OLEDInit:初始化SSD1306voidOLEDInit(void){OLEDWRByte(0xAE,OLEDCMD);关闭显示OLEDWRByte(0xD5,OLEDCMD);设置时钟分频因子,震荡频率OLEDWRByte(80,OLEDCMD);〔3:0〕,分频因子;〔7:4〕,震荡频率OLEDWRByte(0xA8,OLEDCMD);设置驱动路数OLEDWRByte(0X3F,OLEDCMD);默认0X3F(164)OLEDWRByte(0xD3,OLEDCMD);设置显示偏移OLEDWRByte(0X00,OLEDCMD);默认为0OLEDWRByte(0x40,OLEDCMD);设置显示开始行〔5:0〕,行数。OLEDWRByte(0x8D,OLEDCMD);电荷泵设置OLEDWRByte(0x14,OLEDCMD);bit2,开启关闭OLEDWRByte(0x20,OLEDCMD);设置内存地址模式OLEDWRByte(0x02,OLEDCMD);〔1:0〕,00,列地址模式;01,行地址模式;10,页地址模式;默认10;OLEDWRByte(0xA1,OLEDCMD);段重定义设置,bit0:0,00;1,0127;OLEDWRByte(0xC0,OLEDCMD);设置COM扫描方向;bit3:0,普通模式;1,重定义模式COM〔N1〕COM0;N:驱动路数OLEDWRByte(0xDA,OLEDCMD);设置COM硬件引脚配置OLEDWRByte(0x12,OLEDCMD);〔5:4〕配置OLEDWRByte(0x81,OLEDCMD);对比度设置OLEDWRByte(0xEF,OLEDCMD);1255;默认0X7F(亮度设置,越大越亮)OLEDWRByte(0xD9,OLEDCMD);设置预充电周期OLEDWRByte(0xf1,OLEDCMD);〔3:0〕,PHASE1;〔7:4〕,PHASE2;OLEDWRByte(0xDB,OLEDCMD);设置VCOMH电压倍率OLEDWRByte(0x30,OLEDCMD);〔6:4〕000,0。65vcc;001,0。77vcc;011,0。83vcc;OLEDWRByte(0xA4,OLEDCMD);全局显示开启;bit0:1,开启;0,关闭;(白屏黑屏)OLEDWRByte(0xA6,OLEDCMD);设置显示方式;bit0:1,反相显示;0,正常显示OLEDWRByte(0xAF,OLEDCMD);开启显示OLEDClear();}
  然后在main。c文件如下位置添加oled测试代码(记得添加头文件和头文件路径)
  下载程序,观看现象
  此OLED驱动的准备已经完成,下一步就是移植GuiLite2。3例程移植
  首先,我们上GuiLite的例程展示官网:GuiLiteDemo,选择Hello例程,将其中的UICode文件夹复制到Hardware下:
  在MDK工程里面导入UICode下的GuiLite。h和UIcode。cpp文件
  我们在main。c文件开头添加GuiLite接口代码,接口代码如下:画点函数接口voidgfxdrawpixel(intx,inty,unsignedintrgb){OLEDDrawPoint(x,y,rgb);}画面函数(未使用)voidgfxdrawfill(intx,inty,intw,intq,unsignedintrgb){}创建一个函数指针结构体structEXTERNALGFXOP{void(drawpixel)(intx,inty,unsignedintrgb);void(fillrect)(intx0,inty0,intx1,inty1,unsignedintrgb);}mygfxop;externvoidstartHelloCircle(voidphyfb,intwidth,intheight,intcolorbytes,structEXTERNALGFXOPgfxop);设定延时函数接口voiddelayms(intmilliseconds){HALDelay(milliseconds);}
  之后在main函数中添加如下代码传递函数指针mygfxop。drawpixelgfxdrawpixel;mygfxop。fillrectNULL;gfxfillrect;启动画圆startHelloCircle(NULL,128,64,1,mygfxop);
  然后我们修改UIcode。cpp文件中的代码,添加OLED头文件,以及在UI执行函数界面处添加OLED刷新函数
  之后在UIcode的第8行修改3D圆的参数,因为OLED大小128x64,所以我的配置如下:
  配置完成后,我们关闭UseMicroLIB选项,编译代码
  编译成功,下载代码
  03hrGui移植结果
  下载完成后程序复位,可以在OLED上看到Demo的示例动画。
  一些其他的演示效果
  左右滑动见更多
  左右滑动见更多
  原文链接:https:mp。weixin。qq。comsvAcrSIe9cPNcWLYjxCyg、
  转载自:嵌入式大杂烩
  原文链接:GuiLite移植到STM32F4开发板上
  本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

11月新一波手机大跳水,华为小米中高端直降1k,现在买更划算手机界的跳水比赛终于来到了下半年的总决赛!随着剁手日的脚步声越来越近,各大手机厂商的跳水力度也越来越大,试图用好价格吸引消费者入手。今天,小黄就来给大家分享11月新一波手机大跳水,湖人主教练面对镜头,哭了!特纳想跟詹姆斯打球,主动申请去湖人昨日,随着湖人121110战胜掘金,联盟中就再无未能取得赛季首胜的球队了。终结尴尬的5连败,这对于湖人来说,意义非凡。威少此役拿到18分8篮板8助攻,正负值是全队最高的18,他是赢壹周拾闻01丨华为宣布将发布第二款支持北斗卫星的手机MateXs2栏目说星舆科技壹周拾闻,带你回顾近期有关北斗导航高精度定位高精度地图自动驾驶车联网人工智能地理信息等领域的热点要闻。01hr华为宣布将发布第二款支持北斗卫星的手机MateXs2将升卢伟冰格局打开,多款手机降价!K50K50ProK50至尊版怎么选?Redmi曾高调宣布要把高端产品大众化,大众产品品质化,换言之就是要做高性价比手机,而事实上,卢伟冰也的确没有食言,从今年发布的诸多机型来看,个个都是爆款,个个性价比都很高,尤其是OPPO也要造车?频频发布汽车专利!为什么手机厂商都想造车?疲劳驾驶危险性极高,因此我国法律有明确规定连续驾驶4小时的,必须停车休息至少20分钟以上。事实上这一标准和美德法英日等发达国家比起来,都属于低要求了。大多数欧美国家对疲劳驾驶的定义蓝厂新系统originOS3内测机型公布蓝厂将在11。8号发布的全新originOS3系统的内测机型公布!注意是内测机型,不是首批适配机型!适配机型肯定会在发布会上公布,不过首批适配机型应该和内测的差不多具体内测机型如下体验过泰式按摩服务后,过程令人痛苦求饶,但结束后神清气爽泰国是一个旅游业很发达的国家,每年都会接待大量的来自世界各国的游客,当然了,也包括我们中国游客。(此处已添加小程序,请到今日头条客户端查看)据统计,每年去泰国旅游的中国人,有上千万人类禁区地球之耳罗布泊你可能听说过楼兰古国,也可能从影视剧里看到过传说中的精绝古城,亦或者知道美丽且完整的小河公主肯定也知道新中国的第一声巨响就在此地还可能听说过科学家彭加木先生罗布泊这个充满着神秘未知李家超香港连接内地与世界独特优势无可取代将继续成为国际金融中心望业界把握时机李家超香港连接内地与世界独特优势无可取代将继续成为国际金融中心望业界把握时机财联社11月2日电,综合香港经济日报香港电台网站11月2日报道,香港特区行政长官李家超在国际金融领袖投资生态头条联合国地球正走向ampampquot气候灾难ampampquot,多个气候临界点一触即发联合国警告说,地球正走向气候灾难。27日,联合国环境规划署发布2022年排放差距报告。报告称,最新数据表明,到本世纪末,全球气温将上升2。4至2。6。报告指出,根据现行政策,到21278页13万字新型智慧城市大数据云资源中心及大数据平台建设方案来源网络,旨在交流学习,如有侵权,联系速删,更多相关来源公众号优享智库,本文仅截取主要内容进行简介。支撑平台技术架构设计支撑平台技术架构设计支撑平台总体技术架构设计如上,整个架构从
大家觉得中国男足7号和女足7号相比,谁的足球水平更高个人认为,王霜比武7高太多了,从某些方面来说,没有可比性。王霜有多少次力挽狂澜,武7有多少次过家门不入。女足在澳参赛没有带王霜,人家在武汉坚持自训,昨天多少次能看见武7。昨晚是整个广东人这么懂足球,为什么执教俱乐部的人不多呢?广东籍的足球教练应该是有不少的,现在我们就来看看都有谁吧!一区楚良区(u)楚良,1968年8月26日出生于广东省云浮市罗定市,中国足球运动员,曾先后效力于广东宏远,上海申花,云南红从丹麦到T台约瑟芬斯克里弗约瑟芬斯克里弗(JosephineSkriver)职业模特和演员身高178厘米体重55公斤生日1993年4月14日国籍丹麦约瑟芬是一位丹麦超模,出生于1993年4月14日。她于20眼整形后会不会影响近视手术的进行?部分有过眼整形经历的近视患者常常在想,做过了眼整形手术,还能不能进行近视矫正手术呢?如果可以,那么手术的先后选择有没有什么需要注意的呢?重庆华厦眼科医院屈光中心主任蔡锡安表示,近视顶级美女徐璐的大胆穿搭超短裙配小肚兜,时髦又大胆张铭恩和徐璐分手,几个月的恋情竟像极了为恋爱综艺而生,让人唏嘘不已!从女儿们的恋爱这档综艺的呈现来看,徐璐曾很喜欢张铭恩,因而才在综艺节目当中告诉张铭恩她想在三十岁结婚。没有想到徐美国女模特凭借性感身材和出色表现赢得时尚圈赞誉美国女模特艾米丽(Emily)以其性感的身材和出色的表现,成为时尚圈的瞩目焦点。她在国际时装秀上的亮相,为她带来了广泛的赞誉和认可。艾米丽的身材曲线优美,身材高挑,完美展现了时装的新概念和佳音英语哪个适合孩子?肯定是新概念现在的问题不是哪一种教材更适合孩子的问题,而是比这个更重要得多的问题。首先是,孩子应该在什么时候开始英语学习。不管怎样,小学一年级开始太早了,小学五六年级,甚至初中一二三岁男孩不服管教,打也不行骂也不行,讲道理根本不听,怎么办?3岁都管不了?那到13岁怎么办?不是管不了,是不敢管吧?他闹的时候,关房间里,待2小时,看结果怎样?惯子如杀子,溺爱只会害了孩子。三岁都管不了只能说明你无能!打也不行?还是揍的轻了孩子进入青春期,如何和孩子良好的沟通?青春期孩子,正处于叛逆期,这一时期的孩子自制能力差,固执不听说,贪耍学习不上进,常和家长对着干。要和孩子有所沟通,就要理解孩子的心思。一般要从关心孩子生活学习等方面入手,以交朋友的2022陕西丝路春晚青出于蓝胜在哪里?这届晚会以全新的沉浸式完美的展现了文化的美妙。向全世界发出了新年好,到计时已开始,只有几个小时了,准备好目不暇接,先倒好水,吃完饭,一刻也不离开了。httpsm。toutiao。ciOS16。4正式版发布了没有意外,今天3月28号凌晨苹果公司发布了ios16。4正式版。本更新包括以下增强功能和错误修复表情符号键盘中新增21个表情符号,其中包括动物手势和物体添加到主屏幕上的网页App现
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网