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

龙芯+RT-Thread+LVGL实战笔记(30)——电子琴演奏

【写在前面】正值期末,笔者工作繁忙,因此本系列教程的更新频率有所放缓,还望订阅本专栏的朋友理解,请勿催更。笔者在此也简要声明几点:

  1. 有些硬件模块笔者并没有,如LED点阵、压力传感模块、RFID模块等,因此这些模块的相关任务暂时无法给出经过验证的代码。
  2. 其实,教程进行到这个阶段,相信有悟性的朋友应该可以自己组织线程,并把厂家提供的裸机驱动加进来进行调试了,这也是本教程的目的所在。希望学习者在理解代码逻辑的基础上,自己去尝试编写所需的任务,最好能对教程里的代码进行改进。
  3. 鉴于最近后台咨询较多的问题就是蜂鸣器播放乐曲(电子琴)的问题,所以笔者打算把这部分内容提上来先讲,并将其规划到“子任务7.1”中。
  4. 任务7里接下来的几个子任务,笔者准备实现计算器、密码锁、模拟驾驶舱这几个逻辑较为复杂的效果。
  5. 任务6中尚未规划的子任务,将会留给直流电机、红外测温等。

        上一篇解决了单个音符的弹奏,本篇在此基础上加入乐曲演奏的功能,其核心的控制仍然是对定时的把控。我们把乐曲中每个音符的音调(频率)和节拍都存入一个数组里,然后在定时器里依次播放每个音符,就可以听到乐曲的旋律了。图1仅能展示电子琴的界面效果,弹奏效果请观看文末的演示视频。

相关文章:

龙芯+RT-Thread+LVGL实战笔记(30)——电子琴演奏

【写在前面】正值期末,笔者工作繁忙,因此本系列教程的更新频率有所放缓,还望订阅本专栏的朋友理解,请勿催更。笔者在此也简要声明几点: 有些硬件模块笔者并没有,如LED点阵、压力传感模块、RFID模块等,因此这些模块的相关任务暂时无法给出经过验证的代码。其实,教程进行…...

Python Process创建进程(2种方法)详解

虽然使用 os.fork() 方法可以启动多个进程,但这种方式显然不适合 Windows,而 Python 是跨平台的语言,所以 Python 绝不能仅仅局限于 Windows 系统,因此 Python 也提供了其他方式在 Windows 下创建新进程。 Python 在 multiproces…...

树莓派4B 使用树莓派官方烧录器烧录ubuntu20.04.5 排坑

问题描述: 使用树莓派官方烧录器烧录ubuntu并且在烧录器中设置了电脑热点,但是无法连接WIFI。重启后也无效。 排坑: 1.首先打开/boot中的network-config,发现烧录器设置的密码是乱码,重新设置; 2.有博主说…...

鸿蒙开发(五)鸿蒙UI开发概览

从用户角度来讲,一个软件拥有好看的UI,那是锦上添花的事情。再精确的算法,再厉害的策略,最终都得通过UI展现给用户并且跟用户交互。那么,本篇一起学习下鸿蒙开发UI基础知识,认识下各种基本控件以及使用方式…...

应用层—HTTP详解(抓包工具、报文格式、构造http等……)

文章目录 HTTP1. 抓包工具的使用1.1 配置信息1.2 观察数据 2. 分析 https 抓包结果3. HTTP请求详解3.1 认识 URL3.1.1 URL 基本格式3.1.2 查询字符串 (query string)3.1.3 关于 URL Encode 3.2 认识 http 方法3.2.1 [经典问题] Get 和 Post 主要的区别是什么?&#…...

ISA Server 2006部署网站对比nginx

2024年了,我还是第1次使用ISA Server 。没办法在维护一个非常古老的项目。说到ISA Server可能有小伙们不清楚,但是说到nginx大家应该都知道吧。虽然他们俩定位并不相同,但是本文中提到的需求,他俩是都可以实现。 网上找的到的教程…...

CHAPTER 9: 《DESIGN A WEB CRAWLER》第9章 《设计一个web爬虫》

CHAPTER 9: 《DESIGN A WEB CRAWLER》第九章 设计一个web爬虫 在本章中,我们将重点介绍网络爬虫设计:一种有趣而经典的系统设计 面试问题。 网络爬虫被称为机器人或蜘蛛。它被搜索引擎广泛用于发现网络上的新内容或更新内容。内容可以是网页、图像、视频…...

java SSM网上小卖部管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM网上小卖部管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源 代码和数据库,系统主要…...

Java中集合元素的删除

关于集合元素的remove 重点:当集合的结构发生改变时,迭代器必须重新获取,如果还是用以前老的迭代器,会出现异常 java.util.ConcurrentModificationException 重点:在迭代集合元素的过程中,不能调用集合对象…...

HNU-数据挖掘-实验2-数据降维与可视化

数据挖掘课程实验实验2 数据降维与可视化 计科210X 甘晴void 202108010XXX 文章目录 数据挖掘课程实验<br>实验2 数据降维与可视化实验背景实验目标实验数据集说明实验参考步骤实验过程1.对数据进行初步降维2.使用无监督数据降维方法&#xff0c;比如PCA&#xff0c;I…...

【shell编程入门】正则表达式

正则表达式 特殊字符描述[]方括号表达式&#xff0c;表示匹配的字符集合&#xff0c;例如 [0-9]、[abcde]()标记子表达式起止位置*匹配前面的子表达式零或多次匹配前面的子表达式一或多次?匹配前面的子表达式零或一次\转义字符&#xff0c;除了常用转义外&#xff0c;还有&am…...

高效火情监测,科技助力森林防火【数字地球开放平台】

数字地球开放平台-以卫星遥感为核心的空天信息服务开放平台 (geovisearth.com) 2019年3月30日&#xff0c;四川省凉山州木里县爆发了一场森林火灾&#xff0c;火点位于海拔3800米左右&#xff0c;地形险峻、坡度陡峭、谷深难以抵挡火势。在扑救的过程中&#xff0c;27名森林消防…...

第14章_集合与数据结构拓展练习(前序、中序、后序遍历,线性结构,单向链表构建,单向链表及其反转,字符串压缩)

文章目录 第14章_集合与数据结构拓展练习选择填空题1、前序、中序、后序遍历2、线性结构3、其它 编程题4、单向链表构建5、单向链表及其反转6、字符串压缩 第14章_集合与数据结构拓展练习 选择填空题 1、前序、中序、后序遍历 分析&#xff1a; 完全二叉树&#xff1a; 叶结点…...

WEB前端3D变换效果以及如何应用js代码

WEB前端DAY8 变换效果3d <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>body{/* 视距&#xff1a;设置距离xy轴构成的平面有多少像素距离 */perspective: 500px;}div{/* 设置变化效果为3d *…...

Linux中的新建用户、切换用户

目录 一、Linux系统中有哪些用户 二、新建普通用户 三、root账号与普通账号的切换 一、Linux系统中有哪些用户 1.root 超级管理员&#xff08;不受权限约束&#xff09; 2.其他用户 普通用户&#xff08;受到权限约束&#xff09; 二、新建普通用户 创建新用户 sudo user…...

Vue3使用

1、列表实现 <el-table :data"tableData" border style"width: 100%" selection-change"handleSelectionChange" :header-cell-style"{text-align:center}"><el-table-column type"selection" width"55"…...

BindingException: Invalid bound statement (not found): xxMapper.deleteBatchIds

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xxMapper.deleteBatchIds 在使用mybatisplus的deleteBatchIds方法的时候&#xff0c;发生如下异常 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): …...

开源图床LightPicture搭建本地图片管理系统并实现无公网IP远程访问

文章目录 1.前言2. Lightpicture网站搭建2.1. Lightpicture下载和安装2.2. Lightpicture网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 现在的手机越来越先进&#xff0c;功能也越来越多&#xff0c;而手机…...

黑马苍穹外卖学习Day10

文章目录 Spring Task介绍cron表达式入门案例 订单状态定时处理需求分析代码开发功能测试 WebSocket介绍入门案例 来单提醒需求分析代码开发 客户催单需求分析代码开发 Spring Task 介绍 cron表达式 入门案例 订单状态定时处理 需求分析 代码开发 新建一个task包里面编写代码…...

[数据结构 - C++] 红黑树RBTree

文章目录 1、前言2、红黑树的概念3、红黑树的性质4、红黑树节点的定义5、红黑树的插入Insert6、红黑树的验证7、红黑树与AVL树的比较附录&#xff1a; 1、前言 我们在学习了二叉搜索树后&#xff0c;在它的基础上又学习了AVL树&#xff0c;知道了AVL树是靠平衡因子来调节左右高…...

量子动态电路中的非破坏性状态快照技术解析

1. 量子动态电路中的非破坏性状态快照技术解析量子计算领域长期面临一个基础性难题&#xff1a;如何在不破坏量子态的前提下获取其状态信息。传统量子态层析&#xff08;QST&#xff09;需要大量相同量子态的副本&#xff0c;且测量过程会导致原始态坍缩。这项由宾夕法尼亚州立…...

Arm Compiler 6.16LTS功能安全认证语言扩展解析

1. Arm Compiler for Embedded FuSa 6.16LTS语言扩展支持现状解析在功能安全关键型嵌入式系统开发中&#xff0c;编译器工具链的认证状态直接关系到最终产品的合规性。Arm Compiler for Embedded FuSa 6.16LTS作为经过功能安全认证的工具链&#xff0c;其语言扩展支持情况需要开…...

从莎士比亚到鲁迅,NotebookLM辅助文学研究全流程,深度拆解7类文本生成陷阱与规避方案

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;NotebookLM在文学研究中的范式革命 传统文学研究长期依赖人工细读、索引比对与跨文本联想&#xff0c;耗时且易受主观经验局限。NotebookLM 以“源文档优先”&#xff08;source-first&#xff09;架构重构人…...

如何用MPC-HC打造专业级音频体验:终极音频重采样配置指南

如何用MPC-HC打造专业级音频体验&#xff1a;终极音频重采样配置指南 【免费下载链接】mpc-hc MPC-HCs main repository. For support use our Trac: https://trac.mpc-hc.org/ 项目地址: https://gitcode.com/gh_mirrors/mpc/mpc-hc 你是否曾经在观看电影或听音乐时&am…...

【NotebookLM新闻传播研究权威指南】:20年传媒技术专家亲授AI驱动的新闻生产新范式

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;NotebookLM新闻传播研究导论 NotebookLM 是 Google 推出的基于大型语言模型的实验性研究助手&#xff0c;专为信息整合、溯源验证与知识重构设计。其核心能力在于对用户上传的文档&#xff08;PDF、TXT、网页…...

量子计算基础:从比特到量子比特的革命

1. 量子计算基础&#xff1a;从比特到量子比特的革命 在传统计算机中&#xff0c;信息的基本单位是比特&#xff08;bit&#xff09;&#xff0c;它只能处于0或1两种状态之一。而量子计算的核心突破在于引入了量子比特&#xff08;qubit&#xff09;的概念&#xff0c;它能够同…...

AI Agent创业融资指南:投资人最看好的Agent项目特征与商业模式

AI Agent创业融资指南&#xff1a;投资人最看好的Agent项目特征与商业模式 各位技术创业者、产品经理、投资人朋友&#xff0c;晚上好&#xff01;我是深耕AI大模型落地与Agent赛道创业3年多、前后帮2个种子轮项目拿到近5000万天使/A轮融资、现在自己正在做垂直医疗场景诊断Age…...

微信读书笔记助手:3分钟快速上手的终极笔记管理指南

微信读书笔记助手&#xff1a;3分钟快速上手的终极笔记管理指南 【免费下载链接】wereader 一个浏览器扩展&#xff1a;主要用于微信读书做笔记&#xff0c;对常使用 Markdown 做笔记的读者比较有帮助。 项目地址: https://gitcode.com/gh_mirrors/wer/wereader 微信读书…...

GitHub下载太慢?3分钟学会Fast-GitHub加速插件的终极解决方案

GitHub下载太慢&#xff1f;3分钟学会Fast-GitHub加速插件的终极解决方案 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 作为一名…...

5.【Python】Python3 运算符

第一步&#xff1a;分析与整理 运算符1. 什么是运算符&#xff1f; 运算符用于执行算术、比较、逻辑等操作。操作数是参与运算的值。例如 4 5 9 中&#xff0c;4 和 5 是操作数&#xff0c; 是运算符。 Python 支持以下运算符类型&#xff1a; 算术运算符比较&#xff08;关系…...