stm32f429移植littlevGL
说明一下,工程文件太大了,没办法上传,大家按照我的步骤一步一步即可完成移植
昨夜折腾到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日深夜
此内容由EEWORLD论坛网友star_66666原创,如需转载或用于商业用途需征得作者同意并注明出处
stm32f429移植littlevGL相关推荐
- 秉火stm32f429移植u-boot
秉火stm32f429移植u-boot 参考: <STM32F429i-Discovery 移植并成功跑起来u-boot 2016.05>作者:tcjy1000,链接: https://b ...
- 嵌入式Linux移植littlevgl7,安富莱V6移植littlevgl的前因后果,附移植好的工程(未优化)...
你的酒我的故事. 那年我二十三四岁,不小心闯进了嵌入式的大本营,以为自己要发达了,几年后在路边开始要饭了 一.起因 做了一个智能家居产品,具有GUI交互的低配置网关,方案是F429B+32bitSDR ...
- STM32移植Littlevgl(LVGL)V8.0.2使用文件系统+BMP解码显示外部FLASH中图片
说明:选择BMP解码图片的方式,是因为此方式不需要占用太多的RAM 一.主要参数及版本 MCU:STM32F103ZET6 LCD:2.8寸ILI9341,使用FSMC驱动 SPI FLASH:W25 ...
- STM32F429移植STemWin,STemWin函数应用
以下所有函数均已测试过. 链接: 移植步骤. 参考安富莱. 目录 一,文本显示 1.1 GUI_DispString() 显示字符串 1.2 GUI_DispStringAt() 指定位置显示字符串 ...
- [GUI] ESP32(idf)驱动3.5寸SPI-TFT屏移植LittleVGL
一.展示成果 博客上传图片限制在5M内,视频转 GIF 帧率压缩太严重了,还得再次压缩才小于5M,效果完全失真了 小伙伴们有什么好的工具或方法解决吗 gif 图上应该看不出什么区别.但是ESP32 用 ...
- STM32F429移植LVGL
目录 一.下载最新的lvgl-master. 二.在工程目录中添加相应文件到工程中. 三.修改lv_conf.h, lv_port_disp.c输出显示. 四.效果演示. 一.下载最新的lvgl-ma ...
- 第47章 QR-Decoder-OV5640二维码识别—零死角玩转STM32-F429系列
第47章 QR-Decoder-OV5640二维码识别 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.y ...
- 第47章 QR-Decoder-OV5640二维码识别—零死角玩转STM32-F429系列
第47章 QR-Decoder-OV5640二维码识别 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.y ...
- 【安富莱】【RL-TCPnet网络教程】第8章 RL-TCPnet网络协议栈移植(RTX)
第8章 RL-TCPnet网络协议栈移植(RTX) 本章教程为大家讲解RL-TCPnet网络协议栈的RTX操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移植就比较容易了,主要 ...
最新文章
- lightgbm 决策树 可视化 graphviz
- 微信真要做操作系统了?
- 科技下的仓库,数据库
- Spring Boot 2.6之后,动态权限控制终于可以用起来了!
- python控制台不能输入_python实现在控制台输入密码不显示的方法
- 小程序 数据库 时间_使用云开发数据库构建更生动的小程序
- Authorization object的where used列表功能,位于事务码SUIM
- WinCE电源管理的简单介绍
- TCP/IP:SCTP报文格式
- js实现轮播图点击按钮切换下一张图片
- 【转】对前端质量保障的思考 - Barret Lee
- 小米笔记本装linux教程视频教程,手把手教你加装SSD,让小米笔记本运行更加666!...
- Unity优化百科(UWA 博客目录)
- MySQL索引原理(标贝科技)
- 花花嬉游团的千岛湖懒人游~~
- 华纬科技冲刺深交所:拟募资4亿 二代接班金雷,控制65%股权
- TPMS胎压传感器烧录器
- 重磅发布:《AI产品经理的实操手册(2023版)》
- [日推荐]『穷游智能攻略』国外游最佳拍档
- sgi集群管理软件SMC安装步骤整理