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

stm32f429移植littlevGL

[复制链接]
stary666 发布时间:2018-1-19 00:14
说明一下,工程文件太大了,没办法上传,大家按照我的步骤一步一步即可完成移植
0 [/ o2 Y1 W0 ?1 V  v
) y# E4 e  C& ~5 b1 h+ L8 }昨夜折腾到3点,在移植一个比较小巧的GUI,用的st的库文件,不是HAL版本的,好不容易移植成功,在添加触摸驱动的文件时,出现了所找的驱动文件是用HAL库函数写的,真想骂ST啊,有毛病,搞那么多版本的驱动,是研发人员太多了,还是有病啊,叫人无语,一时间,也静不下来去仔细研究库文件了,就想直接改成HAL的库,结果悲剧啊,N多错误,把我搞得精疲力尽的,无奈啊。只好下载HAL的库,然后今天白天为了以后使用方便,把工程模板从HAL库中提取出来,本来单位的电脑只有4G内存,就跑不快,这个折腾啊,好不容易,断断续续,花了2个小时才把模板完全提取出来,不用在那一堆文件了折腾了。于是开始移植,有了昨晚的经历,便开始直接移植,上图吧,大家看了就明白了
/ i; G  F& F  Q+ ^. |这是整个工程的目录,大家参考着搭建,然后把lvgl和lv_examples2个目录直接拷贝到你的工程下,设置好路径,然后把对应的C文件加到工程中,见下面各图。
8 Z  @# t' s+ n$ }- M
3 u7 j  x5 t+ D0 k$ x. ]6 P/ a) C% \: s
$ y  [& Q, z8 S9 e, Z8 ^6 u  I那些需要,那些不需要的,我没有深入研究,一股脑的全导进来了,先移植成功再说啊,- r, w5 V& j1 F! d& x6 |' R& T6 R
进来一编译,问题多多啊,不用着急,一个一个解决,当然大部分是头文件的路径问题,这些大家自己解决啊,
- @9 [0 f2 q0 ?1 Y4 N. ^/ d我来说说和路径无关的错误。8 u) `( s/ g/ N5 {' F1 j
在lv_color.h的60行加入0 y2 e) Y* ?) P5 P4 b4 g
#pragma anon_unions这个大家一查就知,不多说3 M- J$ M: _% L% ^5 N/ A
第145行的函数static inline uint8_t lv_color_to1(lv_color_t color)中的
( a9 R- w9 i' I2 U* v+ }/ s" i#elif LV_COLOR_DEPTH == 165 m: C  \" m1 |' h" ~( `
    if((color.red   & 0b10000) ||6 T9 L3 L( a- }
       (color.green & 0b100000) ||
: _# W+ V+ w( Q" J+ v+ g1 r* h- b4 j           (color.blue  & 0b10000)) {, M4 k) E8 ]' O& R$ B; l3 x
            return 1;
6 A8 V! S$ R2 I0 P( V1 ]# f/ c    } else {6 X: w5 @  J8 e0 `5 e5 K, b& c$ h
            return 0;& v; h- [' z) O; q% U" I% o- j
    }
. }  \4 B- z; G* _
0 r3 g! |6 n& c/ N改成下面即可- Z! N) w' a# f0 G2 o
#elif LV_COLOR_DEPTH == 16
1 u  k' v2 H" l) ]$ ^  X    if((color.red&0x10) ||(color.green & 0x20) ||(color.blue & 0x10))
4 g5 T) w) h# p6 Z1 t6 d                {1 C! i% g9 j- v" [+ ?, B
            return 1;
" l1 [& k! E/ B; v# N: [. Z    } 7 z* q4 y; [& d  G0 L& ~
                else
. |/ }4 Z" ^/ t2 Y& m+ |% u2 J                {
1 J( z4 I/ e: Q( |            return 0;8 O, C* F# ~, U" `$ Q/ U- ?
    }
. Z% d6 m, ^+ t$ Y5 a: l* C4 I) Olv_txt.c的303行函数8 ^7 p  g+ u  b% @; T1 G# L2 o
uint8_t lv_txt_utf8_size(uint8_t c)
( R+ k5 p+ `# H9 A: F{& B2 {; R( A& G: @' v
    if((c & 0b10000000) == 0) return 1;
! y; r& v( ^) N" R( y8 ]# `    else if((c & 0b11100000) == 0b11000000) return 2;( x! S! }4 L" R# i, _# A) b0 O
    else if((c & 0b11110000) == 0b11100000) return 3;# O4 d: ^2 i& O
    else if((c & 0b11111000) == 0b11110000) return 4;         
4 C0 m- `3 \. y- l- r7 }. ~2 D    return 0;2 Y# _3 h- S% U! C
}
; L, J8 w0 R! ?4 \9 z  Q改成下面的即可
- y0 N# _5 w1 [8 a1 ~" @2 _# pif((c & 0X80) == 0) return 1;' z1 m# L. y+ A# j0 G. Y9 W
    else if((c & 0xE0) == 0XC0) return 2;
/ s" l$ v* s  A; n7 |    else if((c & 0XF0) == 0XE0) return 3;
+ d  d+ t# P, Y6 ]5 n- \7 F    else if((c & 0XF8) == 0XF0) return 4;  
" o7 w2 v  A* }8 N5 w更改完成编译即可通过了。
9 d* f; E; V; _, ~+ L; z3 T7 a下面就是在main函数中添加驱动了,添加如下代码,即可编译,下载了
0 J7 c1 Z/ N; o! f   lv_init();2 {7 O$ }6 c* z2 A, z; A$ M" ~
    tft_init();' l) V3 d; J# i+ t6 l0 w
    touchpad_init();
9 Q7 z- M: w  D
( i) X; W7 q2 v$ c8 Q, R    demo_create();
  w2 W8 |: A6 \
9 g' B) S9 j  G: Y  M$ u  /* Infinite loop */" _. \; l* K2 ~: D. j( V
  while (1)
! q* z" k0 B, v+ j: Y  {, I' a: _" c& r4 U, ^- e; Z) _& Q
                HAL_Delay(10);
" Q1 k  Z2 K- j0 y( i3 T                lv_task_handler();        5 O3 U4 V% J5 O" l, P/ Z
  }
' ?+ ~; o/ Z( e6 ~下载后的界面如下2 i* t. O8 c7 e: n1 [9 L

# U, T$ ~& k  D# X1 q! n7 d, z4 I$ m2 p4 F

9 L8 L0 i* H2 |6 u触摸也是可以用的,所有的代码都是官方,直接使用即可。5 ]( n: h- F  f! l7 V" ~
# f0 M) H# M; _
                                                                      发稿与 2018年1月18日深夜
8 @$ w9 x5 D3 [( K. x

评分

参与人数 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月技术原创2 V8 ^8 V! I7 |) m" r- ~1 u
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$ J/ J' O0 i  `; J! E1 Y& u
来晚了,感谢支持,已汇总到1月技术原创
0 a& I1 a$ \& P! R- Z+ ihttps://www.stmcu.org.cn/module/forum/thread-614550-1-1.html ...
8 V+ j- H0 H  ?1 ?4 M+ }/ _
不晚,今年会多发原创

点评

谢谢支持!  发表于 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
. O3 w" }3 Y; ?$ c+ \. K
支持并鼓励!!!
liu888888 回答时间:2019-1-14 16:56:58

/ f& a! @" V3 T2 U7 Z5 h: B不错,支持下~
stary666 回答时间:2019-1-15 00:19:42
哈哈哈哈哈哈哈哈

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版