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

stm32f429移植littlevGL

[复制链接]
stary666 发布时间:2018-1-19 00:14
说明一下,工程文件太大了,没办法上传,大家按照我的步骤一步一步即可完成移植9 \/ x; @" {1 [3 B, A. ?4 K* B. j1 P

* l+ |, S) L' p0 \2 p昨夜折腾到3点,在移植一个比较小巧的GUI,用的st的库文件,不是HAL版本的,好不容易移植成功,在添加触摸驱动的文件时,出现了所找的驱动文件是用HAL库函数写的,真想骂ST啊,有毛病,搞那么多版本的驱动,是研发人员太多了,还是有病啊,叫人无语,一时间,也静不下来去仔细研究库文件了,就想直接改成HAL的库,结果悲剧啊,N多错误,把我搞得精疲力尽的,无奈啊。只好下载HAL的库,然后今天白天为了以后使用方便,把工程模板从HAL库中提取出来,本来单位的电脑只有4G内存,就跑不快,这个折腾啊,好不容易,断断续续,花了2个小时才把模板完全提取出来,不用在那一堆文件了折腾了。于是开始移植,有了昨晚的经历,便开始直接移植,上图吧,大家看了就明白了
3 Q; c  u4 F% i6 ]& Q; H! P: _这是整个工程的目录,大家参考着搭建,然后把lvgl和lv_examples2个目录直接拷贝到你的工程下,设置好路径,然后把对应的C文件加到工程中,见下面各图。
0 D9 ]3 e; N9 r 8 |% g# g) s- \" [# a/ L
0 F2 V; V* H* R9 P, Q) K
那些需要,那些不需要的,我没有深入研究,一股脑的全导进来了,先移植成功再说啊,3 t- B* B- e' }, W
进来一编译,问题多多啊,不用着急,一个一个解决,当然大部分是头文件的路径问题,这些大家自己解决啊,; w* l2 w, b. `9 v# N
我来说说和路径无关的错误。+ t" v$ u2 ?* B
在lv_color.h的60行加入/ i8 Y1 y5 a8 p9 e" b( ^; Z
#pragma anon_unions这个大家一查就知,不多说; L; i' ^1 d- t7 ~: u& o+ R  j
第145行的函数static inline uint8_t lv_color_to1(lv_color_t color)中的- `5 I9 m8 ]- {4 g
#elif LV_COLOR_DEPTH == 16. h; v) F3 G; n- S" [6 @" g! N5 Y% g
    if((color.red   & 0b10000) ||6 s, d# |" K1 K1 z' \+ u& B, w
       (color.green & 0b100000) ||9 y, F8 X( J) {" A( \2 c8 x4 @% V
           (color.blue  & 0b10000)) {
, u( B, \5 l  }            return 1;; K) R9 j3 J5 O9 R
    } else {
! w/ h" C9 E& T! ^3 k            return 0;5 R+ C% N5 b# b
    }
8 v3 L* t; [- D; y9 I' r3 ^& \7 ]0 G* o' u
改成下面即可$ f1 }6 [1 F0 H- t! T5 p! `6 U
#elif LV_COLOR_DEPTH == 16
& T' O" ^! U0 H, J- [0 |3 a$ N    if((color.red&0x10) ||(color.green & 0x20) ||(color.blue & 0x10))
# s6 u4 M% M" O. Z  s: U% _                {
" K. U! k( P* H2 v9 q1 h            return 1;
/ ~! C1 B3 z# E7 q$ @    }
' _/ y4 ^3 a$ H# h$ H                else ) v. C. B' [5 {$ \' R& R- N. z
                {
3 Y) \, J4 W- Q# F4 w            return 0;
# e7 N/ H( B" `5 b/ _    }
$ p$ A5 x# |9 S) q2 l9 Y: N# ?2 ~lv_txt.c的303行函数
4 ]7 a$ r" I% p6 \3 [) y0 l' ]uint8_t lv_txt_utf8_size(uint8_t c). C2 E# {0 G0 O% z/ K9 q
{* {' o, w+ a! |" B
    if((c & 0b10000000) == 0) return 1;
* D+ a+ O1 T! U) k4 j, B. N$ f    else if((c & 0b11100000) == 0b11000000) return 2;
4 ]$ i! r" k8 a# D    else if((c & 0b11110000) == 0b11100000) return 3;$ `/ I: m4 d8 S- [6 D* h4 I
    else if((c & 0b11111000) == 0b11110000) return 4;         
) N9 B# m) f! @2 n. e& J& p    return 0;' k' W" {/ `/ _; Q. W7 f
}0 k- R. |2 C4 t9 b% j
改成下面的即可
7 g6 I  s3 t; n9 Vif((c & 0X80) == 0) return 1;$ U" x1 b3 Q( ?" \8 K
    else if((c & 0xE0) == 0XC0) return 2;
9 ?0 T* T* B8 M/ w. Q" ~" T( N    else if((c & 0XF0) == 0XE0) return 3;
3 u* d, r( y! u8 }8 c- Z8 x    else if((c & 0XF8) == 0XF0) return 4;  
8 N9 V2 g1 c2 g) V6 V! U0 H更改完成编译即可通过了。6 T, k1 W7 ?" s3 K; d  ^
下面就是在main函数中添加驱动了,添加如下代码,即可编译,下载了
) c7 A$ q# p7 \   lv_init();
) j$ j8 \* p% V3 f3 h* [$ r    tft_init();
2 L7 }" O" f$ y' d3 {    touchpad_init();
1 Y1 F" l& c6 I) i- A7 |. I! [+ I4 d; I" o
    demo_create();
0 T, W$ R' s, M8 Q! h( K2 g, u3 H( N+ C1 _( r
  /* Infinite loop */
8 e4 i! p8 ^+ l* C! i  while (1)
# |, a, A' o* z$ @5 i6 l1 x  {
, E5 w" E: r4 r# {& S) B% e                HAL_Delay(10);- p: g( v2 E/ I
                lv_task_handler();        
$ a8 {% r. A$ C6 G$ F1 y2 H  }7 K3 m7 B( `; N4 e" G8 P
下载后的界面如下0 ^+ t  ]+ k, R% z* f# A0 j
7 O0 }$ E$ h, g* d3 C7 ~+ U; w
3 A2 W6 n9 T6 v  e8 ?; ]& D2 d. T

+ e6 a8 k* [9 ^5 Y6 f# ^; m触摸也是可以用的,所有的代码都是官方,直接使用即可。+ S0 b- i6 ^5 m* {
7 ?8 X# Z  o* R9 B- n( O
                                                                      发稿与 2018年1月18日深夜1 @, J& @; m& P6 a$ `5 c

评分

参与人数 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
谢谢分享
Bowen 回答时间:2018-1-19 10:57:53
不错,支持下~
stary666 回答时间:2018-1-19 12:55:15
谢谢支持,,,,
zero99 回答时间:2018-2-1 09:28:03
来晚了,感谢支持,已汇总到1月技术原创% Z# d5 v4 z3 w6 b
https://www.stmcu.org.cn/module/forum/thread-614550-1-1.html
stary666 回答时间:2018-2-1 10:19:17
zero99 发表于 2018-2-1 09:280 N# j- w: q/ l& H0 ~- t1 X9 K" i
来晚了,感谢支持,已汇总到1月技术原创0 _3 q( ~. w$ n  o
https://www.stmcu.org.cn/module/forum/thread-614550-1-1.html ...
3 A; K4 y1 ~9 ]
不晚,今年会多发原创

点评

谢谢支持!  发表于 2018-2-5 13:37
Veiko 回答时间:2018-2-5 15:57:05
感觉很不错哟
stary666 回答时间:2018-2-6 10:21:49
谢谢,,,,
wolfgang 回答时间:2018-5-7 11:37:47
支持并鼓励!!!
stary666 回答时间:2018-5-7 13:08:49
谢谢
liu888888 回答时间:2019-1-14 11:05:50
9 U- A& Q2 U8 K4 |0 ]4 s! V
支持并鼓励!!!
liu888888 回答时间:2019-1-14 16:56:58
3 R, d' y9 r+ l0 c# u3 {! j" j+ g
不错,支持下~
stary666 回答时间:2019-1-15 00:19:42
哈哈哈哈哈哈哈哈

所属标签

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