物联网AI MicroPython学习之语法 I2S音频总线接口
学物联网,来万物简单IoT物联网!!
I2S 介绍
- 模块功能:
I2S音频总线驱动模块
接口说明
I2S - 构建I2S对象
- 函数原型:I2S(id, sck, ws, sd, mode, bits, format, rate, ibuf)
- 参数说明:
| 参数 | 类型 | 必选参数? | 说明 |
|---|---|---|---|
| id | int | Y | I2S音频外设模块 id:0,1 |
| sck | object | Y | 时钟:创建Pin对象 |
| ws | object | Y | 左右声道:创建Pin对象 |
| sd | object | Y | 数据:创建Pin对象 |
| mode | enum | Y | 工作模式 I2S.TX - 发射器 I2S.RX - 接收器 |
| bits | int | Y | 位宽 16 :16位 |
| format | enum | Y | 传输格式 I2S.STEREO I2S.MONO |
| rate | int | Y | 采样率 44100 - 44.1Khz 22050 - 22.05Khz |
| ibuf | int | Y | i2s内部收发buffer大小设置 |
- 返回值:
构建的I2S对象。
readinto - 从I2S设备读数据
- 函数原型:readinto(buffer)
- 参数说明:
| 参数 | 类型 | 必选参数? | 说明 |
|---|---|---|---|
| buffer | array[] | Y | 从I2S设备读数据的buffer数据缓冲区 |
- 返回值:
无
write - 向I2S设备写数据
- 函数原型:write(buffer)
- 参数说明:
| 参数 | 类型 | 必选参数? | 说明 |
|---|---|---|---|
| buffer | array[] | Y | 向I2S设备写数据的buffer数据缓冲区 |
- 返回值:
无 - 代码示例
from machine import I2S, Pin# 创建I2S对象
i2s = I2S(0, sck=Pin(13), ws=Pin(14), sd=Pin(34), mode=I2S.TX, bits=16, format=I2S.STEREO, rate=44100, ibuf=40000)
# 向I2S设备写数据
i2s.write(buf) # 创建I2S对象
i2s = I2S(1, sck=Pin(33), ws=Pin(25), sd=Pin(32), mode=I2S.RX, bits=16, format=I2S.MONO, rate=22050, ibuf=40000)
# 从I2S设备读数据
i2s.readinto(buf)
相关文章:
物联网AI MicroPython学习之语法 I2S音频总线接口
学物联网,来万物简单IoT物联网!! I2S 介绍 模块功能: I2S音频总线驱动模块 接口说明 I2S - 构建I2S对象 函数原型:I2S(id, sck, ws, sd, mode, bits, format, rate, ibuf)参数说明: 参数类型必选参数?…...
Day31| Leetcode 455. 分发饼干 Leetcode 376. 摆动序列 Leetcode 53. 最大子数组和
进入贪心了,我觉得本专题是最烧脑的专题 Leetcode 455. 分发饼干 题目链接 455 分发饼干 让大的饼干去满足需求量大的孩子即是本题的思路: class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {…...
基于C#实现赫夫曼树
赫夫曼树又称最优二叉树,也就是带权路径最短的树,对于赫夫曼树,我想大家对它是非常的熟悉,也知道它的应用场景,但是有没有自己亲手写过,这个我就不清楚了,不管以前写没写,这一篇我们…...
Android 13.0 app进程保活白名单功能实现
1.前言 在13.0的系统rom产品开发中,在某些重要的app即使进入后台,产品需求要求也不想被系统杀掉进程,需要app长时间保活,就是app进程保活白名单功能的实现, 所以需要在系统杀进程的时候不杀掉白名单的进程,接下来就看怎么样来实现这些功能 2.app进程保活白名单功能实…...
查找学习笔记
1、静态查找表 以下查找的索引均从1开始 (1)顺序查找(带哨兵) #include<iostream> #include<vector>using namespace std;int search(vector<int> arr, int key) {arr[0] key;int i;for (i arr.size() - 1…...
Qt QIODevice介绍
作者:令狐掌门 技术交流QQ群:675120140 csdn博客:https://mingshiqiang.blog.csdn.net/ 文章目录 主要功能用法示例读取数据写入数据使用数据流基于套接字的读写注意事项QIODevice 是 Qt 中所有输入/输出设备的抽象基类。它为派生类提供了一组标准的接口用于读写数据。这些派…...
python -opencv 中值滤波 ,均值滤波,高斯滤波实战
python -opencv 中值滤波 ,均值滤波,高斯滤波实战 cv2.blur-均值滤波 cv2.medianBlur-中值滤波 cv2.GaussianBlur-高斯滤波 直接看代码吧,代码很简单: import copy import math import matplotlib.pyplot as plt import matp…...
【教学类-06-07】20231124 (55格版)X-X之间的加法、减法、加减混合题
背景需求 在大四班里,预测试55格“5以内、10以内、20以内的加法题、减法题、加减混合题”的“实用性”。 由于只打印一份20以内加法减法混合题。 “这套20以内的加减法最难”,我询问谁会做(摸底幼儿的水平) 有两位男孩举手想挑…...
postgresql经常出现连接一会后服务器拒绝连接
本地连接远程Linux上PG数据库经常自动断开连接 原因:Linux设置的tcp的keepalive超时时间太长,如果网络状况不佳,可能会导致连接断掉。 [rootlocalhost ~]# sysctl -a | grep net.ipv4.tcp_keepalive sysctl: reading key "net.ipv6.con…...
迈巴赫S480升级主动式氛围灯 浪漫婉转的气氛
主动式氛围灯有263个可多色渐变的LED光源,营造出全情沉浸的动态光影氛围。结合智能驾驶辅助系统,可在转向或检测到危险时,予以红色环境光提示,令光影艺术彰显智能魅力。配件有6个氛围灯,1个电脑模块。 1、气候…...
Leetcode103 二叉树的锯齿形层序遍历
二叉树的锯齿形层序遍历 题解1 层序遍历双向队列 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 提示:…...
可观测性建设实践之 - 日志分析的权衡取舍
指标、日志、链路是服务可观测性的三大支柱,在服务稳定性保障中,通常指标侧重于发现故障和问题,日志和链路分析侧重于定位和分析问题,其中日志实际上是串联这三大维度的一个良好桥梁。 但日志分析往往面临成本和效果之间的权衡问…...
Ceres使用
之前用过Ceres,但是只是跑例程,现在来着重学习一下使用流程。 1. 解决的问题 主要解决非线性优化问题。Ceres是一个较为通用的库。 参考链接 2. 如何使用 这个是求解的函数,主要关注这三个参数 CERES_EXPORT void Solve(const Solver::O…...
深度学习第1天:深度学习入门-Keras与典型神经网络结构
☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 文章目录 神经网络 介绍 结构 基本要素 Keras 介绍 导入 定义网络 模型训练 前馈神经网络 特点 常见类型 代码示例 反馈神经网络 特点 …...
青云科技容器平台与星辰天合存储产品完成兼容性互认证
近日, 北京青云科技股份有限公司(以下简称:青云科技)的 KubeSphere 企业版容器平台成功完成了与 XSKY星辰天合的企业级分布式统一数据平台 V6(简称:XEDP)以及天合翔宇分布式存储系统 V6…...
谈谈基于Redis的分布式锁
目录 前言 基本介绍 演化过程 防死锁 防误删 自动续期 可重入 主从一致 总结 前言 在我们没有了解分布式锁前,使用最多的就是线程锁和进程锁,但他们仅能满足在单机jvm或者同一个操作系统下,才能有效。跨jvm系统,无法…...
逸学java【初级菜鸟篇】10.I/O(输入/输出)
hi,我是逸尘,一起学java吧 目标(任务驱动) 1.请重点的掌握I/O的。 场景:最近你在企业也想搞一个短视频又想搞一个存储的云盘,你一听回想到自己对于这些存储的基础还不是很清楚,于是回家开始了…...
【Python进阶笔记】md文档笔记第6篇:Python进程和多线程使用(图文和代码)
本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、htmlcss、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。 全套md格式笔记和代码自…...
基于Vue+SpringBoot的数字化社区网格管理系统
项目编号: S 042 ,文末获取源码。 \color{red}{项目编号:S042,文末获取源码。} 项目编号:S042,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 源码 & 项目录屏 二、功能模块三、开发背景四、系统展示五…...
【数据库设计和SQL基础语法】--数据库设计基础--数据建模与ER图
一、数据建模的基本概念 1.1. 数据模型的概念 数据模型是对现实世界中事物及其之间关系的一种抽象表示。它提供了描述数据结构、数据操作、数据约束等的方式,是数据库设计的基础。数据模型帮助我们理解数据之间的关系,提供了一种规范化的方式来组织和存…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
