野火霸道-V2+3.2寸屏+FreeRTOS+LVGL移植

摘要

  • 基于野火霸道-V2+3.2寸屏的开发板,下载器为STLINK
  • 分为两个版本,FreeRTOS和裸机版本

裸机

裸机准备

  • lvgl v8.2版本的源码
  • 野火的《触摸画板-3.2寸》与《基本定时器》的代码例程
    在这里插入图片描述

移植

  1. 将基本定时器代码移植到触摸画板-3.2寸的例程中,实现LED的正常反转
    在这里插入图片描述
  2. 将lvgl的源码移植到工程里,此处可以参考正点原子的视频
    在这里插入图片描述
  3. 修改lv_port_disp_template文件
    • 实现disp_init函数并将缓冲区方法设置为1或者2,要注意ILI9341_Init函数里扫描方向要设置为3
      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述
    • 实现disp_flush函数,ILI9341_DrawPixel函数需要自己加上,并添加到头文件里
      在这里插入图片描述在这里插入图片描述
  4. 修改lv_port_indev_template文件
    • 注释掉不用的函数,保留触摸相关函数 -在这里插入图片描述

    • 实现touchpad_init,touchpad_is_pressed,touchpad_get_xy函数

    • XPT2046_TouchDetect是内部函数,注意将其在头文件声明在这里插入图片描述

  5. 在定时器中断回调函数中,调用lv_tick_inc(1),给LVGL提供时钟源
    在这里插入图片描述
  6. 主函数如图所示
    在这里插入图片描述
  7. Hello world的代码效果是蓝底上显示Hello world,Button的代码效果是有个按键触摸能够滑动
注意
  • 头文件LV_CONF中的LV_MEM_SIZE 这个宏定义请注意大小,我设的25kb,太大可能导致报错No space
  • lv_port_disp_template中的缓冲区, static lv_color_t buf_1[MY_DISP_HOR_RES * 20],20这个数也别太大,大了显示的更快,但也可能报错No space

RTOS

RTOS准备

  • FreeRTOS的触摸画板例程

移植

  • RTOS不再赘述,只需要注意别忘记在SysTick_Handler中调用xPortSysTickHandler
    在这里插入图片描述
  • 完成后,创建任务测试任务调度运行情况,画板是否可以画画,LED灯是否翻转

lvgl移植

  1. 继续移植LVGL源码,与裸机相同
  2. 实现disp和indev文件,与裸机相同
  3. 自定义tick源,LV_TICK_CUSTOM设置为1,不需要定时器中断
    在这里插入图片描述
  4. main文件内容
    在这里插入图片描述
    在这里插入图片描述
注意
  1. FreertosConfig头文件中,也需要申请数组空间,configTOTAL_HEAP_SIZE,我在此设置的15kb
  2. lv_port_disp_template中的缓冲区lv_color_t buf_1,我设置了10行
  3. LV_MEM_SIZE宏定义设置为20kb,这几个参数不合适很容易报错No space
  4. 如果使用的是正点的lv_conf头文件,LV_MEM_ADR记得设置为0
  5. LVGL模板资源
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/283248.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

爬取糖豆视频

爬虫案例积累,以爬取糖豆视频为例: 爬取视频类型的数据一般步骤: 1.点击media,刷新,播放一个视频,会刷新一个包,点击发现是播放视频的包, 2.复制这个包url中的关键字,在搜索框中进…

uniapp的css样式图片大小截图展示

目录 截取图片前截取图片后第一种方式&#xff1a;代码第二种方式&#xff1a;代码最后 截取图片前 截取图片后 第一种方式&#xff1a;代码 <view class"swiper-box-img"><image class"swiper-box-img-img" :src"item.file_path" mod…

【LLM】人工智能应用构建的十大预训练NLP语言模型

在人工智能领域&#xff0c;自然语言处理&#xff08;NLP&#xff09;被广泛认为是阅读、破译、理解和理解人类语言的最重要工具。有了NLP&#xff0c;机器可以令人印象深刻地模仿人类的智力和能力&#xff0c;从文本预测到情感分析再到语音识别。 什么是自然语言处理&#xf…

uni-app引入vant表单(附源码)

新建项目 下载安装vant npm i vant main.js引入 import { Form } from vant; import { Field } from vant;Vue.use(Form); Vue.use(Field);代码引入 <van-form submit"onSubmit"><van-fieldclass"rePwd"v-model"username"name"请…

AI电商时代开始:阿里能否反杀拼多多

“AI电商时代刚刚开始&#xff0c;对谁都是机会&#xff0c;也是挑战。” 针对阿里员工对于拼多多财报和电商等的讨论&#xff0c;马云在阿里内网罕见地参与了谈论并发言。 阿里巴巴一向雷厉风行&#xff0c;已打响了AI电商的“第一炮”。 根据《晚点LatePost》报道&#xff…

【Linux基础】8. 网络工具

文章目录 【 1. 查询网络服务和端口 】【 2. 网络路由 】【 3. 镜像下载 】【 4. ftp sftp lftp ssh】【 5. 网络复制 】 【 1. 查询网络服务和端口 】 全称作用netstat&#xff08;network statistics&#xff09;网络统计显示各种网络相关信息&#xff0c;如网络连接&#x…

ssm 宿舍管理系统

MD5加密&#x1f512; - SSM框架&#x1f3a8; - Layui框架&#x1f384;#### 实现功能 - [x] 管理员的登录与登出 - [x] 管理员,班级,学生,宿舍&#xff0c;卫生&#xff0c;访客各模块增删改查 - [x] 个别模块关联查询 - [x] 各个模块数据导出Excel

从零开始的 dbt 入门教程 (dbt-core 基础篇)

最近一直在处理数据分析和数据建模的事情&#xff0c;所以接触了 dbt 等数据分析的工具&#xff0c;国内目前对于 dbt 比较详细的资料不多&#xff0c;所以打算写四道五篇 dbt 相关的文章&#xff0c;本文属于 dbt 系列的第一篇&#xff0c;本篇主要阐述 dbt 一些基本概念&…

【python报错】UserWarning: train_labels has been renamed targets

UserWarning: train_labels has been renamed targetswarnings.warn(“train_labels has been renamed targets”) 这是一条 Python 警告信息&#xff0c;它表示 train_labels 这个变量已经被重命名为 targets&#xff0c;在将来的版本中可能会移除 train_labels。因此&#x…

Linux安装Oracle调用dbca无响应和密码问题

Linux服务器下调用dbca无响应&#xff0c;或弹出如下提示&#xff1a; 则需要在Linux命令行窗口&#xff0c;输入如下命令即可 export DISPLAYip:0.0 注意&#xff1a;该ip应该为可显示图形桌面的机器ip地址。 该桌面需要已经安装了Xmanager-Passive&#xff08;比如 Xmanag…

MIT线性代数笔记-第34讲-左右逆,伪逆

目录 34.左右逆&#xff0c;伪逆左右逆伪逆 打赏 34.左右逆&#xff0c;伪逆 左右逆 之前讲到的逆都是针对可逆方阵而言的&#xff0c;对于长方矩阵&#xff0c;实际上也有广义的逆&#xff0c;那就是左逆和右逆 左逆 当矩阵列满秩&#xff0c;即 r n r n rn时&#xff0c;…

x-cmd-pkg | deno - 更快更强的 JS 和 TS 运行时

目录 简介首次用户技术特点进一步阅读 简介 Deno 是一个基于 V8 引擎和 Rust 语言构建的 JavaScript 和 TypeScript 运行时环境&#xff0c;于 2018 年由 Ryan Dahl 在演讲中宣布&#xff0c;并在 2020 年正式发布 1.0&#xff0c;目标是提供一个高效且安全的脚本环境。 安全…

PostgreSQL16.1(Windows版本)

1、卸载原有的PostgreSQL &#xfeff; &#xfeff; 点击Next即可。 &#xfeff;&#xfeff; 点击OK即可。 卸载完成。 2、安装 &#xff08;1&#xff09; 前两部直接Next&#xff0c;第二部可以换成自己想要安装的路径。 &#xff08;2&#xff09; 直接点击Next。…

记矩阵基础概念

转自up&#xff1a;Naruto_Qcsdn&#xff1a;三维空间几何变换矩阵 先贴个站里分享的基础概念。 learn form 肥猫同学VFX b站&#xff1a;会用transform就会用矩阵 移动 旋转 缩放 1.transofrm ——输出变化矩阵 可以移动transform查看变化去理解 位移 缩放 旋转 由此—…

Flink学习-时间和窗口

在流数据处理应用中&#xff0c;一个很重要、也很常见的操作就是窗口计算。所谓的“窗口”&#xff0c;一 般就是划定的一段时间范围&#xff0c;也就是“时间窗”&#xff1b;对在这范围内的数据进行处理&#xff0c;就是所谓的 窗口计算。所以窗口和时间往往是分不开的。 时…

【js】js解析Token:

一、效果&#xff1a; 二、实现&#xff1a; export function getTokenObject(token) {//通过split()方法将token转为字符串数组,数组中的第二个字符进行解析return token ? JSON.parse(decodeURIComponent(escape(window.atob(token.split(".")[1].replace(/-/g &…

2023年亲身经历总结 | 记录从大学到现在历程

现在是2023年12月31日&#xff0c;回想2023年&#xff0c;是充满挑战的一年&#xff0c;也是成就斐然的一年。回首过去&#xff0c;仿佛一幅画卷展开&#xff0c;每一笔每一刻都镌刻着成长的印记。 以下文章从大学经历说起&#xff0c;到现在发展情况&#xff0c;希望我的经历对…

大数据应用领域:数据驱动一切

大数据出现的时间只有十几年&#xff0c;被人们广泛接受并应用只有几年的时间&#xff0c;但就是这短短几年的时间&#xff0c;大数据呈现出爆炸式增长的态势。在各个领域&#xff0c;大数据的身影几乎无处不在。今天我们通过一些大数据典型的应用场景分析&#xff0c;一起来看…

ALSA学习(5)——设备中的alsa

参考博客&#xff1a; https://blog.csdn.net/DroidPhone/article/details/7165482 &#xff08;一下内容基本是原博主的博客转载&#xff09; 文章目录 一、ASOC的由来二、硬件架构三、软件架构四、数据结构五、内核对ASoC的改进 一、ASOC的由来 ASoC–ALSA System on Chip …

Vue-Setup

一、setup概述 小小提示&#xff1a;vue3中可以写多个根标签。 Person.vue中内容 <template><div class"person"><h2>姓名&#xff1a;{{name}}</h2><h2>年龄&#xff1a;{{age}}</h2><!--定义了一个事件&#xff0c;点击这…