笔记:正点原子LVGLv8.2移植stm32

这篇具有很好参考价值的文章主要介绍了笔记:正点原子LVGLv8.2移植stm32。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

*移植芯片要求⬇

*16,32或64位微控制器或处理器

*主控频率:>16Mhz

*Flash/ROM:>64kb,建议180kb以上

*RAM:>8kb,建议24kb以上

*图形缓冲区:>水平分辨率像素,建议>1/10屏幕总像素

 玻珠用了正点原子stm32f407m144最小系统板,满足要求(具体可查看对应硬件开发手册)

*lvglv8.2文件下载⬇

*地址:LVGL的GitHub仓库:https://github.com/lvgl/lvgl

*步骤:1:master选择自己需要的版本

            2:点击code

            3:下载zip文件

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

*裁剪文件如图:

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

————开始实操(带触摸,裸机,内部SRAM,LVGL自带内存管理)————

准备:1.对应型号《触摸屏实验》源码

           2.《基本定时器中断实验》源码

           3.LVGL库文件(注意版本,玻珠使用v8.2)

⬇修改文件名和条件编译指令

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

⬇找到自己的定时器TIMER文件 ,工程名自取能找到即可

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

⬇添加完如图,TIMER到Drivers/BSP路径 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

⬇除demos的文件都放到GUI/lvgl路径  

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

⬇添加完如图

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

⬇demos放到GUI_APP路径 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

⬇左红框:命名为LVGL

⬇中间红框:按右图添加group 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

 ⬇按右图添加.c文件(有点繁琐,注意不要漏掉文件夹里的

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

⬇魔术棒按右图添加头文件路径 

⬇魔术棒开启C99

⬇不建议!屏蔽MDK警告

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

⬇添加完编译一下,下图正常情况 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

 ⬇已经完成了的步骤 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

⬇开始配置输出(用的LCD屏幕) 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇对应步骤开始操作 

 笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇图形缓冲区大小设置,按自己屏幕的分辨率直接给MY_DISP_HOR_RES(屏幕width),MY_DISP_VER_RES(屏幕height)宏定义也行 ,我的是800*480

*注意:v8.2小范围双缓冲优化程度和单缓冲差不多,反而占内存更大,用单缓冲就行

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇选用哪种方式就注释另两种 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇用了正点原子的动态识别横竖屏分辨率(推荐)。lcddev.width和lcddev.height 直接填对应分辨率长/宽也行(注意横竖屏)

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇如图写函数 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇触摸屏只涉及touchpad相关,删除无关( mouse,keypad,encoder,button)(标蓝)

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇再在lv_port_indev_template.c包含驱动头文件 ,初始化触摸屏,配置触摸检测函数

 笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇在BSP里add定时器.c文件,在其中包含 lvgl路径

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

 文章来源地址https://www.toymoban.com/news/detail-839562.html

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇main里删去while里原有的不相关函数 

⬇编译,如果遇到errorL6218E

如果遇到errorL6200E可能是某.c文件被重复添加了,删去即可

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇如图添加代码switch_obj是开关名,lv_switch_creat()创建开关,lv_scr_act()显示在屏幕上

lv_obj_set_size设置图标大小,lv_obj_align设置图标坐标,LV_ALIGN_CENTER表示以屏幕正中间为坐标原点,可以go to definition 找其他位置对应宏更改原点

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件  

——————————完成————————————————————————

⬇做好如图,开关可触摸(未对应添加诸如开关控制led等功能,仅显示)

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

⬇如果觉得按钮反应比较慢可以改下图示地方,原本是30我改成5了 

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件 

*优化LVGL运行效果的方法⬇

笔记:正点原子LVGLv8.2移植stm32,笔记,stm32,嵌入式硬件

*学习参考视频⬇

【【正点原子】手把手教你学LVGL图形界面编程】 https://www.bilibili.com/video/BV1CG4y157Px/?share_source=copy_web&vd_source=18c0bce2f6a02448a4cff49a1f8fcff1

 

到了这里,关于笔记:正点原子LVGLv8.2移植stm32的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 正点原子stmf103zet6代码移植为stm32f103c8t6(库函数版)

    目录 1、打开正点原子的工程模板template, 点击魔术棒  2、 修改芯片型号 为stm32f103c8

    2024年02月01日
    浏览(56)
  • STM32学习笔记3 正点原子miniSTM32串口通信实验

    初学者学习总结,如有错误,请大神指正 目的:用 STM32 的串口来发送和接收数据。 ALIENTEK MiniSTM32 V3 版开发板选择的是 STM32F103RCT6 作为 MCU,拥有5 个串口分别为 USART1、USART2、USART3、UART4、UART5, 其中只有USART1挂载在APB2总线上,其余均挂载在APB1总线上 APB1操作速度限于36MHz,A

    2024年02月04日
    浏览(65)
  • 正点原子--STM32基本定时器学习笔记(1)

    目录 1. 定时器概述 1.1 软件定时原理 1.2 定时器定时原理 1.3 定时器分类 1.4 定时器特性表 1.5 基本、通用、高级定时器的功能整体区别 2. 基本定时器简介 3. 基本定时器框图 时钟树分析 这部分是笔者对基本定时器的理论知识进行学习与总结!主要记录学习过程中遇到的重难点

    2024年02月19日
    浏览(58)
  • 【正点原子】STM32电机应用控制学习笔记——8.FOC简介

    FOC是适用于无刷电机的,而像有刷电机,舵机,步进电机是不适用FOC的。FOC是电机应用控制难度最大的部分了。 FOC(Filed Oriented Control)即磁场定向控制,又称磁场矢量控制(VC,Vector Control),也就是控制磁场的方向以及大小。 无刷电机的无感控制是六步换向,设定初始电流

    2024年01月22日
    浏览(55)
  • 正点原子stm32F407学习笔记5——串口通信实验

    上位机给开发板发送数据,开发板将收到的数据发回给上位机 串口设置的一般步骤可以总结为如下几个步骤: 串口时钟使能,GPIO 时钟使能。 设置引脚复用器映射:调用 GPIO_PinAFConfig 函数。 GPIO 初始化设置:要设置模式为复用功能。 串口参数初始化:设置波特率,字长,奇

    2024年02月06日
    浏览(48)
  • 【正点原子】STM32电机应用控制学习笔记——2.直流无刷电机基础知识

    没有电刷,无换向器的电机,也称为无换向器电机。 主要是定子和转子,而直流有刷电机多的是换向器和电刷。 而直流有刷的定子是N和S的永磁体,而无刷是三个线圈饶阻。 直流有刷是定子是饶阻,无刷的定子是N和S的永磁体。两者的转子和定子恰好是相反的。也是他们最大

    2024年02月03日
    浏览(71)
  • 【正点原子STM32连载】 第十章 STM32CubeMX简介 摘自【正点原子】STM32F103 战舰开发指南V1.2

    1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html STM32CubeMX是由ST公司开发的图形化代码自动生成工具,能够快速生成初始化代码,如配置GPIO,时钟树

    2024年01月15日
    浏览(59)
  • 【正点原子STM32连载】 第三十章 ADC实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

    1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 本章,我们将介绍STM32F103的ADC(Analog-to-digital converters,模数转换器)功能。我们通过四个实验来学习

    2024年02月03日
    浏览(67)
  • 【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2

    1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html# 为了方便大家使用和验证综合例程,本章内容是综合例程的使用介绍。目的是展示STM32F1的强大处理

    2024年02月02日
    浏览(64)
  • 【正点原子STM32连载】 第四十六章 摄像头实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

    1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html# 正点原子战舰STM32开发板板载了一个摄像头接口(P6),该接口可以用来连接正点原子 OV7725摄像头模

    2024年02月04日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包