韦东山数码相框项目进度一

2023-11-18

参考文章:

韦东山数码相框任务需求分析

项目需求分析

      在这里插入图片描述



程序架构

1. 为了提高程序的复用性,将应用程序分为两个进程,进程之间通过socket套接字进行通信。
2. 两个进程下通过多线程框架,完成不同功能模块的调度。
3. 本项目设计的驱动程序除了前文以完成的LCD驱动、触摸屏驱动、按键驱动,还需设计DMA驱动(mmap映射)将存于内存中的图片放入LCD显存中,减少CPU的占比。

输入进程(3线程):

  • 主控线程:得到上报的事件,用socket套接字发送给显示进程
  • ts线程:使用tslib读触摸屏(input子系统封装事件,上报)
  • 按键线程:读按键,没有事件时会休眠(input子系统封装事件,上报)
            在这里插入图片描述

显示进程(7线程):

  • socket线程:接收输入进程中socket发送的数据
  • 放大线程:准备好当前图片的放大数据
  • 缩小线程:准备好当前图片的缩小数据
  • 上一幅线程:准备好上一幅图片数据
  • 下一幅线程:准备好下一幅图片数据
  • 当前图片线程:准备好当前图片数据
  • 主控线程:根据得到的事件,决定显示哪一幅图片
        在这里插入图片描述

驱动程序:

分配5块内存、DMA操作、mmap函数直接操作内存



点阵字符显示

  1. 准备点阵字符库和点阵汉字库
  2. 根据选择的点阵大小,来进行对应编码
  3. 显示字母:“end宿命”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

韦东山数码相框项目进度一 的相关文章

  • Python HTTP 客户端请求 - GET、POST

    Python HTTP 模块定义了提供 HTTP 和 HTTPS 协议客户端的类 在大多数程序中 HTTP模块并不直接使用 而是与urllib处理 URL 连接以及与 HTTP 请求交互的模块 今天我们将学习如何使用 Python HTTP
  • 如何在 Node.js 中使用 __dirname

    介绍 dirname是一个环境变量 它告诉您包含当前正在执行的文件的目录的绝对路径 在本文中 您将探索如何实施 dirname在您的 Node js 项目中 先决条件 要完成本教程 您将需要 Node js 的一般知识 要了解有关 Node
  • 如何在 Ubuntu 14.04 上安装 Git

    介绍 现代软件开发中不可或缺的工具是某种版本控制系统 版本控制系统允许您在源代码级别跟踪您的软件 您可以跟踪更改 恢复到之前的阶段以及分支以创建文件和目录的备用版本 最流行的版本控制系统之一是git 一个分布式版本控制系统 许多项目在 gi
  • 如何在 Centos 6 上使用 Rsync 创建站点的异地备份

    Status 已弃用 本文介绍不再受支持的 CentOS 版本 如果您当前运行的服务器运行 CentOS 6 我们强烈建议您升级或迁移到受支持的 CentOS 版本 Reason CentOS 6 于 2020 年 11 月 30 日达到生
  • 如何在 Linux/Ubuntu 中使用 PhotoRec 恢复已删除的文件

    不小心删除了文件或照片 在本教程中 我们将学习如何使用 PhotoRec 在 Linux 中恢复已删除的文件 在之前的教程中 我们讨论了使用名为的 Linux 实用程序恢复已删除文件的步骤TestDiskPhotoRec 实用程序是由同一家
  • Scala 面试问题与解答

    欢迎来到 Scala 面试问题和解答 如今 大多数金融 银行 政府 电信 社交网络等公司都在使用Scala Play 和 Akka 框架开发他们的项目 因为这些框架同时支持 OOP 和 FP 功能 并且还提供了许多优势 Scala 面试问题
  • comgt General Commands Manual

    reference url comgt 1 comgt Debian testing Debian Manpages NAME comgt Option GlobeTrotter GPRS EDGE 3G HSDPA and Vodafon
  • 大端对齐与小端对齐

    地址绑定技术 在概念上 等效于联合体 union 例如 联合体实现地址绑定 union Example unsigned long dNumber unsigned char Array 4 Data 在这个联合体 Example 中 un
  • 心理学的166个现象---之二

    22 长尾效应 长尾效应的根本就是要强调 个性化 客户力量 和 小利润大市场 也就是要赚很少的钱 但是要赚很多人的钱 要将市场细分到很细很小的时候 然后就会发现这些细小市场的累计会带来明显的长尾的效应 以图书为例 Barnes Noble的
  • SQL Server导入Excel常见错误以及注意点

    1 excel第一行的字段名与数据库字段名需一一对应 导入时在 选择表和源视图 步骤 需注意 编辑 选项里的EXCEL列是否已经与表字段对应 如果某一字段为忽略 则会出现导入不匹配的错误 注意Excel的字段顺序 个数是否与表结构相同 2
  • TensorFlow 图片读取

    TensorFlow Version 2 0 0 image raw tf io read file img jpg image tf image decode image image raw channels None dtype tf
  • 2023高教社杯全国大学生数学建模竞赛C题思路模型代码

    2023高教社杯全国大学生数学建模竞赛C题思路模型代码 一 国赛常用的模型算法 1 蒙特卡罗算法 该算法又称随机性模拟算法 是通过计算机仿真来解决问题的算法 同时可以通过模拟可以来检验自己模型的正确性 比较好用的算法 2 数据拟合 参数估计
  • Zotero文献管理工具使用教程-2

    1 打开word 2 选择zotero标签 3 点击Add Edit Citation 4 选择要导入文献的格式后点击OK 这里以GB T 7714 1987为例 5 鼠标光标选中要插入的位置 前边一定要有文字 之后点击2所框选位置 6 点
  • 关于置信区间、置信度的理解

    关于置信区间和置信度的理解 在网上找了两个相关的观点感觉讲的很好 恍然大悟 简单概括 参数只有一个是固定的不会变 我们用局部估计整体 参数95 的置信度在区间A的意思是 正确 采样100次计算95 置信度的置信区间 有95次计算所得的区间包
  • 【leetcode 524. 通过删除字母匹配到字典里最长单词】双指针,在不同字符串中同向查找

    解题思路 依旧是双指针 不过双指针在不同字符串中同向查找 且在使用双指针前需要对被查找集合做排序 1 根据题目要求 先将dictionary的字符串按照字符串的长度从大到小排序 且字符串符合字典序 进行排序 目的是为了接下查找时 dicti
  • 使用streamstring获取字符串string的子串

    最近优化代码 特别是在C 中获取string的字串 代码经常会遇到 非常有用且重复的功能函数 对这个功能 我之前一直用substr来获取字串 功能也非常强大 最近发现一个非常好用的stringstream 用它来实现substr的部分功能
  • Springboot整合RabbitMQ详解

    RabbitMQ 文章目录 RabbitMQ RabbitMQ的特点 AMQP AMQP模型 消息确认 AMQP是一个可编程的协议 RabbitMQ安装 Windows10安装 步骤 Spring整合AMQP 官方中文文档 GitHup翻译
  • Windows Server 2012 R2 百度创建AD域

    Windows Server 2012 R2 创建AD域 前言 我们按照下图来创建第一个林中的第一个域 创建方法为先安装一台Windows服务器 然后将其升级为域控制器 然后创建第二台域控制器 一台成员服务器与一台加入域的Win8计算机 环
  • Linux终端查看文件指令

    可以用cat查看文件文本内容 还可以用more命令查看 两者不同的是 cat是直接将内容全部显示出来 more支持翻页 如果文件过多可以一页页的展示 翻页可以通过按空格实现

随机推荐

  • Mysql:核心的数据库操作

    Mysql核心点 对于每一位研发同学 Mysql都是必须掌握的技能啦 基本的Mysql的操作 还是得很好的掌握的 一 Mysql 学习一个技术 一定要先去官网学习 Mysql官网 二 基本的查询 1 创建表并插入数据 创建表 CREATE
  • 基于MindSpore的YOLOv3-DarkNet53网络实现

    基于MindSpore的YOLOv3 DarkNet53网络实现 网络模型介绍 1 backbone Darknet 53 YOLOv3使用Darknet 53提取特征 其借鉴了Darknet 19结构 不同于Darknet 19的是 Da
  • Flutter开发遇到的问题

    一 在AndroidStudio4 1中没有 New Flutter Project 菜单 那是由于你没有安装Flutter插件 需要在setting的插件管理中添加 Flutter 和 dart 插件 二 Flutter SDK 安装参考
  • 微信小程序input禁止空格输入

    用户输入的时候 可能会有输入空格的情况 所以我们要利用简单的正则实时去除空格 利用数据双向绑定的特性同步当前input的value值 下面是源码 wxml
  • 基于SpringBoot的螺蛳粉销售系统计算机毕业设计源码70795

    摘 要 随着供给侧结构性改革的稳步实施 互联网 这一新的国家发展的重要战略手段通过 双创 不但改变了传统的供需关系 还为经济发展带来了新动能 它已经成为产业发展的新引擎 螺顿粉产业就是在 互联网 背景下应运而生且蓬勃发展的 但是 在经济全球
  • 寻你的人生 寻你的选择

    无论如何选择 只要是自己的选择 就不存在对错与后悔 过去的我不会让现在的我满意 现在的我也不会让未来的我满意 当面对前路坎坷 我知道既然当初有胆量去选 那么就该有勇气把后果来承担 有毅力把梦想坚持并实现 我们人生中最大的懒惰 就是当我们明知
  • SonarQube8.7使用配置

    一 sonarQube版本 二 安装 三 配置说明 1 设置检测规则 2 启用pdf输出 一 sonarQube版本 本体 sonarqube 8 7 1 42226版本 插件 sonar findbugs plugin 4 0 3 jar
  • 生成Android的keystore密钥

    打开cmd 进入Jdk的 安装目录下的bin文件夹 输入命令 keytool genkey alias android keystore keyalg RSA validity 20000 keystore android keystore
  • /dev/sdb1 已经挂载或 /mnt/mountpoint3 忙解决办法

    dev sdb1 已经挂载或 mnt mountpoint3 忙解决办法 在挂载硬盘分区的时候 会出现mount dev sdd1 already mounted or data3 busy或者是在执行格式化分区的时候也会出现 dev hd
  • 操作系统重点

    1 1 选择题 1 考研真题 单项选择题 单道批处理系统的主要缺点是 A CPU利用率不高 2 考研真题 单项选择题 提高单机资源利用率的关键技术是 D 多道程序设计技术 3 考研真题 单项选择题 并发性是指若干事件在 发生 A C 同一时
  • Qt智能指针之QScopedPointer

    内存释放的问题是C 中比较头疼的问题 合理的使用智能指针能有效的帮助我们减少忘记释放内存 导致的内存泄露问题 本文以Qt中的QScopedPointer为例 通过讲解其用法 从源码深度剖析其实现方式 QScopedPointer的使用原理比
  • IDEA中的“Deployment“ 将项目直接部署到服务器上

    ntelliJ IDEA中的 Deployment 工具栏是一个方便的工具 用于将你的项目直接部署到服务器上 这个工具栏提供了三种部署的方式 1 Web Server在本地电脑上 并且服务器运行目录也在项目目录下 2 Web Server在
  • 【读书笔记】浪潮之巅——公司史篇

    浪潮之巅 公司史 AT T 百年帝国 创立 1877贝尔电话公司 1984年反垄断被拆分 AT T 8家小贝尔公司 1996年重组 AT T 长途电话等电信服务业务 朗讯 专门做程控交换机等设备制造业务 因借钱给各公司买朗讯设备 2000年
  • centos实现集群之间ssh免密(最简单的ssh免密)

    master 1 在虚拟机命令界面输入 ssh keygen t rsa 然后持续回车键 2 ssh copy id 主机名 ssh copy id master ssh copy id slave1 slave1 ssh copy id
  • 811. 子域名访问计数

    网站域名 discuss leetcode com 由多个子域名组成 顶级域名为 com 二级域名为 leetcode com 最低一级为 discuss leetcode com 当访问域名 discuss leetcode com 时
  • 私有部署、重构企业软件,第四范式发布大模型“式说”

    大模型领域再添重要一员 4月26日 第四范式首次向公众展示其大模型产品 式说3 0 并首次提出AIGS战略 AI Generated Software 以生成式AI重构企业软件 式说将定位为基于多模态大模型的新型开发平台 提升企业软件的体验
  • GYM-102920-L. Two Buildings(决策单调性+分治)

    题目链接 题目大意 求一段序列的 h i h j j i 的最大值 step1 转化一下题意 h i h j j i h j h i j i 令a i h i b i h i 然后全部转化为两种坐标 i a i i b i 这样题目就转化成
  • 物联网技术周报第31期:Linux基金会宣布微内核项目Zephyr

    本文转载至 http www infoq com cn news 2016 02 iot weekly 31 utm campaign infoq content utm source infoq utm medium feed utm t
  • linux的开机启动和密码破解

    linux的开机启动 linux启动流程 Centos开机修改密码 kali开机修改密码 centso启动 rcx文件 chkconfig命令 centos给grub设置密码 压缩解压 gzip bzip2 tar tar gzip tar
  • 韦东山数码相框项目进度一

    数码相框进度一 项目需求分析 程序架构 点阵字符显示 参考文章 韦东山数码相框任务需求分析 项目需求分析 程序架构 1 为了提高程序的复用性 将应用程序分为两个进程 进程之间通过socket套接字进行通信 2 两个进程下通过多线程框架 完成