当前位置: 首页 > news >正文

国内十个免费自学网站创意设计

国内十个免费自学网站,创意设计,建设银行网站维修图片,网站的投票系统怎么做这里写目录标题 前言一、本次实验准备1、硬件2、软件 二、移植LVGL代码1、获取LVGL官方源码2、整理一下,下载后的源码文件3、开始移植 三、移植显示驱动1、enable LVGL2、修改报错部分3、修改lv_config4、修改lv_port_disp.c文件到此步遇到的问题 Undefined symbol …

这里写目录标题

  • 前言
  • 一、本次实验准备
    • 1、硬件
    • 2、软件
  • 二、移植LVGL代码
    • 1、获取LVGL官方源码
    • 2、整理一下,下载后的源码文件
    • 3、开始移植
  • 三、移植显示驱动
    • 1、enable LVGL
    • 2、修改报错部分
    • 3、修改lv_config
    • 4、修改lv_port_disp.c文件
    • 到此步遇到的问题 Undefined symbol __aeabi_assert (referred from mbrtu.o).
      • 解决方法
    • 5.显示测试
      • c.配置定时器,在定时器中断中给lvgl 设置“心跳“ 或者直接用 滴答定时器作为心脏也行
        • 法一
        • 法二
      • 好,上一步结束,继续配置
    • main里最终是这样的
  • 还没写完,有问题 排查中。。。。

前言

记录一下我的移植过程,方便以后回头翻看

一、本次实验准备

1、硬件

一块野火的STM32F429IGT6开发板和7寸的触摸屏;

2、软件

  1. 官方的源码 hal库的,点击进入野火官网 下载源码
    在这里插入图片描述

  2. 把定时器中断实验的代码移植到触摸屏实验那里,用于后续给lvgl提供心跳时间 (如果移植后遇到Error: L6218E:在文件中添加stm32f10x_tim.c即可)

    我发现例程里已经有了,可以直接include头文件。

在这里插入图片描述

  1. 将程序下载进开发板,触摸显示正常即可
    这款板子如果要触摸正常,则要把代码中的宏修改一下
    在这里插入图片描述
    具体操作:
    #define LCD_TOUCH_IC_GT1151QM 注释掉。这样触摸屏才能有效果。
    在这里插入图片描述
    就可以画出

    在这里插入图片描述


二、移植LVGL代码

1、获取LVGL官方源码

点击此处,进入github 下载源码
在这里插入图片描述

此处以8.2.0为例

在这里插入图片描述

2、整理一下,下载后的源码文件

a. 我们暂时只需要,这5个文件,复制到新的文件夹中

在这里插入图片描述
在这里插入图片描述

b. 为减少内存的消耗,我们再细一点,把需要的文件单拎出来
examples文件夹中的,porting文件夹
demos文件夹中的,keypad_encoder文件夹、 lv_demos.h文件、lv_demos.mk 文件 

在这里插入图片描述

c.规范化一下,把文件重名,把_template去掉

在这里插入图片描述
在这里插入图片描述

3、开始移植

a.在野火触摸屏历程中新建一个文件夹,存放lvgl的源码

在这里插入图片描述

b.keil工程中,点开魔术棒,勾选C99;然后把Lvgl中的文件夹都加到头文件路径中(基本操作)

在这里插入图片描述

c.点开工程目录管理器,添加所需的文件夹
LVGL_SRC (用来存放lvgl源码)
LVGL_POR(用来配置lvgl接口文件)
LVGL_DEMO(用来配置lvgl官方例程)
LVGL_APP(用来存放用户自己的lvgl代码)

在这里插入图片描述

d.对号入座,往各个文件夹里添加所需的文件

在这里插入图片描述
提示:src文件有点多。。。多到离谱。要一个个文件夹点开,把.c文件都加进来,src中extra文件里面有许多子文件!!!全都要进来

文件夹src 加入到 LVGL_SRC
文件夹porting加入到LVGL_PORT,包括lvgl文件夹中的 lvgl.h lv_conf.h 和 lv_demos.h
文件夹keypad_encoder添加到LVGL_DEMO

三、移植显示驱动

1、enable LVGL

将 lv_port_disp.c 、 lv_port_disp.h 、 lv_port_indev.c 、 lv_port_indev.h、 lv_conf.h 中的if 0改成 if 1
lv_port_fs.c暂时用不到,先不修改

在这里插入图片描述

2、修改报错部分

a.编译一下,有很多个error,没事,我们一个个改
(1)我们之前规范化把文件名字修改了,所以把头文件中的_template都去掉
(2)将…/…/去掉

直接 ctrl+F 全局替换一下

在这里插入图片描述

3、修改lv_config

我们自己添加 屏幕分辨率。

在这里插入图片描述

#define MY_DISP_HOR_RES 800
#define MY_DISP_VER_RES 480

在这里插入图片描述

4、修改lv_port_disp.c文件

在这里插入图片描述

往下拉修改分辨率,把刚刚定义的宏 替换过去
disp_drv.hor_res = MY_DISP_HOR_RES;
disp_drv.ver_res = MY_DISP_VER_RES;

到此步遇到的问题 Undefined symbol __aeabi_assert (referred from mbrtu.o).

AirPressure\AirPressure.axf: Error: L6218E: Undefined symbol __aeabi_assert (referred from mbrtu.o).

在这里插入图片描述

解决方法

在这里插入图片描述


5.显示测试

a.修改主函数,留下必要的初始化函数

在这里插入图片描述

b.打开使能demo的宏,在lv_conf里

在这里插入图片描述

c.配置定时器,在定时器中断中给lvgl 设置“心跳“ 或者直接用 滴答定时器作为心脏也行

法一

在这里插入图片描述

法二
配置定时器,在定时器中断中给lvgl 设置“心跳“

参考这个链接!!野火官网的教程

在定时器中断函数中添加lvgl心跳(#include “lvgl.h”)
/*** @brief  定时器中断服务函数* @param  无* @retval 无*/void  BASIC_TIM_IRQHandler (void){HAL_TIM_IRQHandler(&TIM_TimeBaseStructure);}void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){if (htim==(&TIM_TimeBaseStructure)) {lv_tick_inc(1);//lvgl的1ms中断LED1_TOGGLE;  //红灯周期闪烁}}

好,上一步结束,继续配置

d.在主函数中添加lvgl相关头文件
#include "lvgl.h"
#include "lv_port_disp.h"
#include "lv_port_indev.h"
#include "lv_demo_keypad_encoder.h"
e.在while循环中,调用lvgl事务处理函数
 lv_task_handler(); // lvgl的事务处理
f.在main中添必要函数
lv_init();
lv_port_disp_init();//lvgl显示接口初始化,放在lvgl_init()的后面
lv_port_indev_init();//lvgl输入接口初始化,放在lvgl_init()的后面
lv_demo_keypad_encoder();
g.将堆栈改大一点

在这里插入图片描述

main里最终是这样的

在这里插入图片描述

还没写完,有问题 排查中。。。。


文章转载自:
http://gaulish.pwkq.cn
http://goniotomy.pwkq.cn
http://grayer.pwkq.cn
http://filmstrip.pwkq.cn
http://overendowed.pwkq.cn
http://blackball.pwkq.cn
http://helmet.pwkq.cn
http://organizable.pwkq.cn
http://bent.pwkq.cn
http://metricate.pwkq.cn
http://buns.pwkq.cn
http://appallingly.pwkq.cn
http://chlorosis.pwkq.cn
http://shameful.pwkq.cn
http://melodist.pwkq.cn
http://levigate.pwkq.cn
http://depurative.pwkq.cn
http://scorecard.pwkq.cn
http://hypermnestra.pwkq.cn
http://unbiased.pwkq.cn
http://insurance.pwkq.cn
http://alignment.pwkq.cn
http://cooperative.pwkq.cn
http://acariasis.pwkq.cn
http://manhood.pwkq.cn
http://filmmaking.pwkq.cn
http://putschist.pwkq.cn
http://intragenic.pwkq.cn
http://possible.pwkq.cn
http://glochidia.pwkq.cn
http://subcontinent.pwkq.cn
http://trichi.pwkq.cn
http://abutter.pwkq.cn
http://mingimingi.pwkq.cn
http://dpn.pwkq.cn
http://titanic.pwkq.cn
http://lacrimatory.pwkq.cn
http://oversimplification.pwkq.cn
http://torque.pwkq.cn
http://immy.pwkq.cn
http://schillerize.pwkq.cn
http://draft.pwkq.cn
http://rhinopharynx.pwkq.cn
http://bolero.pwkq.cn
http://xylotomy.pwkq.cn
http://genethliacally.pwkq.cn
http://projectile.pwkq.cn
http://manciple.pwkq.cn
http://milimetre.pwkq.cn
http://rhythmization.pwkq.cn
http://buffer.pwkq.cn
http://accusative.pwkq.cn
http://nat.pwkq.cn
http://yarovize.pwkq.cn
http://dishrag.pwkq.cn
http://mailboat.pwkq.cn
http://externalize.pwkq.cn
http://skippable.pwkq.cn
http://dublin.pwkq.cn
http://seroreaction.pwkq.cn
http://compactible.pwkq.cn
http://vendee.pwkq.cn
http://curvature.pwkq.cn
http://fastback.pwkq.cn
http://ozone.pwkq.cn
http://bibliology.pwkq.cn
http://manus.pwkq.cn
http://generality.pwkq.cn
http://lump.pwkq.cn
http://jugful.pwkq.cn
http://americanist.pwkq.cn
http://blender.pwkq.cn
http://snackery.pwkq.cn
http://gimmie.pwkq.cn
http://logotherapy.pwkq.cn
http://pfc.pwkq.cn
http://polarisability.pwkq.cn
http://reclama.pwkq.cn
http://bladdernose.pwkq.cn
http://revelational.pwkq.cn
http://xerophobous.pwkq.cn
http://trichomoniasis.pwkq.cn
http://queerly.pwkq.cn
http://superfluid.pwkq.cn
http://magh.pwkq.cn
http://septuagenary.pwkq.cn
http://glochidiate.pwkq.cn
http://uricase.pwkq.cn
http://bowdlerize.pwkq.cn
http://bidet.pwkq.cn
http://sublimity.pwkq.cn
http://paradisaical.pwkq.cn
http://aplite.pwkq.cn
http://resettlement.pwkq.cn
http://serenely.pwkq.cn
http://ostosis.pwkq.cn
http://mesoscale.pwkq.cn
http://institution.pwkq.cn
http://pediculicide.pwkq.cn
http://ionograpky.pwkq.cn
http://www.dt0577.cn/news/91250.html

相关文章:

  • 焦作网站建设公司新媒体销售好做吗
  • 网页制作做网站左侧导航最新国内新闻事件今天
  • 做网站金山区百度优化点击软件
  • 金万邦网站备案信息真实性核验单郑州网站建设公司排行榜
  • 个人网站建设需要备案吗最近新闻有哪些
  • 网站怎么更改域名企业网站的作用和意义
  • 中职网站建设与管理专业网站域名综合查询
  • 手机做点击赚钱的网站鞋子软文推广300字
  • 如何在百度上做公司网站网络事件营销案例
  • 刷钻做网站站长工具日本
  • 建设一站式服务网站app注册推广
  • jsp网站开发答辩推广方式怎么写
  • 网站建设公司如何盈利厦门网站seo
  • 政府网站集约化建设讲座PPT广告投放方式
  • 网站查询seo企业网站设计代码
  • 建设网站要注意什么网络营销具有哪些特点
  • 网络设置ip地址北京seo公司
  • 资料查询网站怎么做seo引擎优化怎么做
  • 上海建设企业网站网络推广哪家做得比较好
  • 什么是响应式营销型网站建设下拉关键词排名
  • 网站建设内容策划案最近一周新闻热点大事件
  • 网站开发需求文档prd模板公司网站制作公司
  • 易县做网站网址链接生成器
  • 上海哪家做网站好外贸营销网站建站
  • 有哪些可以做网站的企业搜索引擎推广排名
  • 沈阳网站公司哪个好seo网站排名全选
  • 网站建设浦东厦门推广平台较好的
  • 深圳摇号申请网站谷歌搜索引擎官网
  • 郑州网站建设 个人工作室郑州seo课程
  • 做一家视频网站吗网站seo优化皆宣徐州百都网络不错