物联网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. 数据模型的概念 数据模型是对现实世界中事物及其之间关系的一种抽象表示。它提供了描述数据结构、数据操作、数据约束等的方式,是数据库设计的基础。数据模型帮助我们理解数据之间的关系,提供了一种规范化的方式来组织和存…...
手把手教你用Skyline健康检查辅助VSAN集群安全关机(附7.0U3新功能解读)
深度解析:如何利用健康检查工具优化VSAN集群安全关机流程 1. 为什么VSAN集群关机需要特殊流程? 虚拟化环境中的存储集群关机从来都不是简单的"点一下关机按钮"就能完成的操作。VSAN作为VMware的软件定义存储解决方案,其分布式特性使…...
2025届最火的六大AI论文网站推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 基于先进深度学习算法构建的 AI 论文查重系统,能针对文本展开语义级精准比对&am…...
Java 19+ Loom响应式改造:从Spring WebFlux到VirtualThread的4步平滑迁移路径(含可运行验证代码)
第一章:Java 19 Loom响应式改造:从Spring WebFlux到VirtualThread的4步平滑迁移路径(含可运行验证代码)Java 19 正式引入 Project Loom 的虚拟线程(Virtual Thread)作为预览特性,并在 Java 21 成…...
从splrep到splev:深入SciPy样条插值底层,看懂tck三元组,实现自定义插值控制
从splrep到splev:掌握SciPy样条插值的底层控制艺术 在数据科学和工程计算领域,插值技术就像一位隐形的调音师,能够将离散的数据点转化为流畅的曲线。当大多数用户满足于interp1d这类"一键式"解决方案时,真正的高手已经开…...
redis_version:6.2.21默认自带布隆过滤器吗?
结论:不,Redis 6.2.21 官方原生版本(Open Source)默认【不包含】布隆过滤器(Bloom Filter)。 这是一个非常常见的误区。布隆过滤器是 RedisBloom 模块的功能,而不是 Redis 核心代码的一部分。一…...
Visual C++运行库终极解决方案:告别DLL缺失烦恼的完整指南
Visual C运行库终极解决方案:告别DLL缺失烦恼的完整指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 还在为"MSVCP140.dll丢失"的错误弹…...
从‘猫鼠游戏’到‘艺术创作’:用StyleGAN2-ADA的实战案例,聊聊不同GAN变体损失函数的设计哲学
从博弈论到艺术革命:StyleGAN2-ADA如何用损失函数重塑图像生成 想象一下,你正在教两个学生画画——一个负责鉴别画作真伪(判别器),另一个则试图伪造名画(生成器)。最初,这场教学就像…...
大疆无人机开源项目实战:用Eclipse Paho库搞定MQTT双通道通信(TCP vs WebSocket)
大疆无人机开源项目实战:用Eclipse Paho库搞定MQTT双通道通信(TCP vs WebSocket) 当开发者基于大疆无人机开源项目进行二次开发时,通信协议的选择往往成为影响系统性能的关键因素。MQTT作为轻量级物联网协议,其传输层的…...
STM32F4时钟配置避坑指南:从HAL库的HAL_RCC_OscConfig到180MHz超频实战
STM32F4时钟配置避坑指南:从HAL库的HAL_RCC_OscConfig到180MHz超频实战 对于嵌入式开发者而言,STM32F4系列微控制器的时钟系统就像是一台精密的瑞士钟表,每一个齿轮的咬合都需要精确计算。当项目需求从常规的168MHz跃升至180MHz时,…...
从一条CAN报文说起:深入理解J1939多帧传输(BAM/TP.DT)的底层逻辑与抓包分析
从一条CAN报文说起:深入理解J1939多帧传输的底层逻辑与抓包分析 在汽车电子系统的开发与调试过程中,CAN总线就像车辆的神经系统,承载着各种关键数据的传输。而SAE J1939协议作为商用车领域的事实标准,其多帧传输机制(B…...
