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

stm32f429移植littlevGL

[复制链接]
stary666 发布时间:2018-1-19 00:14
说明一下,工程文件太大了,没办法上传,大家按照我的步骤一步一步即可完成移植

昨夜折腾到3点,在移植一个比较小巧的GUI,用的st的库文件,不是HAL版本的,好不容易移植成功,在添加触摸驱动的文件时,出现了所找的驱动文件是用HAL库函数写的,真想骂ST啊,有毛病,搞那么多版本的驱动,是研发人员太多了,还是有病啊,叫人无语,一时间,也静不下来去仔细研究库文件了,就想直接改成HAL的库,结果悲剧啊,N多错误,把我搞得精疲力尽的,无奈啊。只好下载HAL的库,然后今天白天为了以后使用方便,把工程模板从HAL库中提取出来,本来单位的电脑只有4G内存,就跑不快,这个折腾啊,好不容易,断断续续,花了2个小时才把模板完全提取出来,不用在那一堆文件了折腾了。于是开始移植,有了昨晚的经历,便开始直接移植,上图吧,大家看了就明白了
这是整个工程的目录,大家参考着搭建,然后把lvgl和lv_examples2个目录直接拷贝到你的工程下,设置好路径,然后把对应的C文件加到工程中,见下面各图。


那些需要,那些不需要的,我没有深入研究,一股脑的全导进来了,先移植成功再说啊,
进来一编译,问题多多啊,不用着急,一个一个解决,当然大部分是头文件的路径问题,这些大家自己解决啊,
我来说说和路径无关的错误。
在lv_color.h的60行加入
#pragma anon_unions这个大家一查就知,不多说
第145行的函数static inline uint8_t lv_color_to1(lv_color_t color)中的
#elif LV_COLOR_DEPTH == 16
    if((color.red   & 0b10000) ||
       (color.green & 0b100000) ||
           (color.blue  & 0b10000)) {
            return 1;
    } else {
            return 0;
    }

改成下面即可
#elif LV_COLOR_DEPTH == 16
    if((color.red&0x10) ||(color.green & 0x20) ||(color.blue & 0x10))
                {
            return 1;
    }
                else
                {
            return 0;
    }
lv_txt.c的303行函数
uint8_t lv_txt_utf8_size(uint8_t c)
{
    if((c & 0b10000000) == 0) return 1;
    else if((c & 0b11100000) == 0b11000000) return 2;
    else if((c & 0b11110000) == 0b11100000) return 3;
    else if((c & 0b11111000) == 0b11110000) return 4;         
    return 0;
}
改成下面的即可
if((c & 0X80) == 0) return 1;
    else if((c & 0xE0) == 0XC0) return 2;
    else if((c & 0XF0) == 0XE0) return 3;
    else if((c & 0XF8) == 0XF0) return 4;  
更改完成编译即可通过了。
下面就是在main函数中添加驱动了,添加如下代码,即可编译,下载了
   lv_init();
    tft_init();
    touchpad_init();

    demo_create();

  /* Infinite loop */
  while (1)
  {
                HAL_Delay(10);
                lv_task_handler();        
  }
下载后的界面如下



触摸也是可以用的,所有的代码都是官方,直接使用即可。

                                                                      发稿与 2018年1月18日深夜

评分

参与人数 4 ST金币 +31 收起 理由
wolfgang2015 + 10 很给力!
creep + 10 赞一个!
MrJiu + 6 很给力!
Inc_brza + 5

查看全部评分

收藏 4 评论14 发布时间:2018-1-19 00:14

举报

14个回答
hello_bug 回答时间:2018-1-19 07:31:04
感谢分享。想问一下,这个GUI和EMWIN相比,功能和效果上有多大差异。
Inc_brza 回答时间:2018-1-19 09:05:29
谢谢分享
strang 回答时间:2018-1-19 10:57:53
不错,支持下~
stary666 回答时间:2018-1-19 12:55:15
谢谢支持,,,,
zero99 回答时间:2018-2-1 09:28:03
来晚了,感谢支持,已汇总到1月技术原创
https://www.stmcu.org.cn/module/forum/thread-614550-1-1.html
stary666 回答时间:2018-2-1 10:19:17
zero99 发表于 2018-2-1 09:28
来晚了,感谢支持,已汇总到1月技术原创
https://www.stmcu.org.cn/module/forum/thread-614550-1-1.html ...

不晚,今年会多发原创

点评

谢谢支持!  发表于 2018-2-5 13:37
Veiko 回答时间:2018-2-5 15:57:05
感觉很不错哟
stary666 回答时间:2018-2-6 10:21:49
谢谢,,,,
wolfgang2015 回答时间:2018-5-7 11:37:47
支持并鼓励!!!
12下一页

所属标签

STM32团队

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


最新内容

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