你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

完全移植记录之LittlevGL

[复制链接]
lebment 发布时间:2018-5-28 17:47
本帖最后由 lebment 于 2018-5-28 22:34 编辑

  硬件:STM32F407核心板,2.4寸电阻屏(320*240,xpt2048触摸芯片),ST—LINK V2-1;
  软件:MDKv5.25,CubeMX最新版,最新版F4库,LittlevGL版本5.1。

  官网下载最新版本的LittlevGL的源码,有需要的同学可以下载附件。其中有三个包,lvgl文件夹是我们LittlevGL的源码,lvgl examples文件夹是一些应用例子,lvgl Driver是一些屏幕驱动基本上用不到。
  省去板子初始化,BSP的编写,直接主题。
  

            





  1.在工程文件夹内加入LittvGL文件夹,该文件夹如图

    把里面所有C文件加入你的工程!先不要编译,会有很多错。

  2.其中的lv_conf.h原名是lv_conf_templ.h,这个头文件必须放在lvgl旁,最好是按我这个来移植。不然需要改很多包含头文件的代码。  

  3.In the lv_conf.h delete the first `#if 0` and its `#endif`. Let the default configurations at first.


  4.lv_tick_inc(1)这是个GUI心跳  如图:

  5.找到压缩包里的lvgl examples文件夹下的lv_tutorial文件夹,打开
  直接复制粘贴里面的0_Porting的C文件和头文件到你的工程里,我改它名字在第一幅图lv_Proting.c,里面的代码相应要做修改。
  6.现在介绍如何修改里面的代码
      你的屏幕初始化程序
        你的打点程序
      还是你的打点程序


   依然是你的打点程序


终于到了你的触摸屏




编译一下,可能你会出现一些匿名结构体之类的Error,先排除这个Error,找到相关头文件,加一句#pragma anon_unions就可以灭掉大部分错误了。

   

7.开始Hello world!测试,复制粘贴下面的句子,
    lv_obj_t * label1 =  lv_label_create(lv_scr_act(), NULL);
    /*Modify the Label's text*/
    lv_label_set_text(label1, "Hello world!");
    /* Align the Label to the center
     * NULL means align on parent (which is the screen now)
     * 0, 0 at the end means an x, y offset after alignment*/
    lv_obj_align(label1, NULL, LV_ALIGN_CENTER, 0, 0);






  while (1)
  {

  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
   lv_task_handler();
     HAL_Delay(5);
  }





8.如果执行不成功,可以去相关的lv_conf.h里面看看设置,这是我修改的设置:


其余的我没改。


我的板子显示了在正中心显示了Hello world!,我太懒不想上图。


9.如果还有什么问题可以去看看,文档,压缩包都有,也可以在这里问我。




  最终对比一下STemwin和这个GUI,在我看来,移植难度来说,都差不多,各有各的困难,他们的接口完全不一样,STemwin的好处显而易见官方支持,还有PC软件支持等。littlevGL就显得一穷二白,可以看到显示一字符串,STemwin就一句GUI_DispStringAt();,这个比较复杂,还需要我们多多开源尝试怎么使用,STemwin结构复杂,我等小小辈难以解释,但是我的使用感受来说,一旦STemwin移植完成,后面的应用会很快。LittlvGL的界面我也就不多说了,炫酷,看起来我很喜欢,扁平科技感爆炸,STemwin如果不改皮肤,很那啥,太老土?
  最后感谢一下社区吧!很希望社区强大起来,也希望大佬不要吝啬,多多交流。初学者也应该尽量自己去解决问题。此篇仅仅是完善移植过程,部分大佬可以忽略,给小白一点空间,详细的手册和资料,还有活跃的社区是ST的基础啊!




评分

参与人数 1 ST金币 +1 收起 理由
mcbot + 1 littlevGL 群526465246 大家一起来讨论.

查看全部评分

收藏 2 评论23 发布时间:2018-5-28 17:47

举报

23个回答
lebment 回答时间:2018-5-28 17:50:44
为什么不显示图片
Inc_brza 回答时间:2018-5-28 17:55:39
试试上传附件?
lebment 回答时间:2018-5-28 18:37:39

都不行
lebment 回答时间:2018-5-28 22:01:05
很多种方法都不能上传图片,还有那个压缩包!
lebment 回答时间:2018-5-28 22:01:50
需要详细过程的可以发邮箱821613205@qq.com找我!
Inc_brza 回答时间:2018-5-29 08:43:19
你应该是真没有上传附件,这样把,你把图片弄成压缩包上传附件,我来帮你弄
lebment 回答时间:2018-5-29 12:07:37
Inc_brza 发表于 2018-5-29 08:43
你应该是真没有上传附件,这样把,你把图片弄成压缩包上传附件,我来帮你弄 ...

我是WIN+SHIFT+S截图粘贴在编辑框的。
lebment 回答时间:2018-5-29 12:08:15
Inc_brza 发表于 2018-5-29 08:43
你应该是真没有上传附件,这样把,你把图片弄成压缩包上传附件,我来帮你弄 ...

也试过直接上传,都没有效。
Inc_brza 回答时间:2018-5-29 15:04:12
lebment 发表于 2018-5-29 12:07
我是WIN+SHIFT+S截图粘贴在编辑框的。

这样是不行的,要点击上传附件,把附件上传后,再按附件,你的图片就会显示再你的帖子上了。
123下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版