说明一下,工程文件太大了,没办法上传,大家按照我的步骤一步一步即可完成移植
昨夜折腾到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();
}
下载后的界面如下
触摸也是可以用的,所有的代码都是官方,直接使用即可。
上一篇:STM32F429之使用FPU和DSP
下一篇:STM32F429 >> 22. FMC_扩展外部SDRAM(二)
推荐阅读最新更新时间:2024-11-17 04:19
设计资源 培训 开发板 精华推荐
- DC2006A-B,具有 LTC3862EUH-2 高功率、高电压升压转换器的演示板,6V = VIN = 36V,VOUT = 120V @ 2.5A
- LT6656ACDC-1.25、1.25V ADC 电压基准和桥式激励电源的典型应用
- TSA7887DB,基于 TSA7887 微功耗、2 通道、125 ksps、串行输出 12 位 SAR ADC 的演示板
- 2021Cap_Dejavu智能车
- 使用 STMicroelectronics 的 TDA75610LVH 的参考设计
- LTM8052MPV 36Vin、12Vout 降压型 CVCC 转换器的典型应用
- 使用 BittWare 的 5AGZME3E2H29C3 的参考设计
- LTC4070EDDB 演示板,具有 NTC 热敏电阻输入的简单低 IQ 电池充电器/保护器
- TA78DL05BS低压降稳压器典型应用
- MCP16301/H 高压输入集成开关降压稳压器的典型应用