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

完全移植记录之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扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版