记录一个很简单的压缩编码--ADPCM
ADPCM是一种很简单实现的音频编码方式,真正的PCM相当占用内存,这对网络和内存的压力是相当大的,因此通常需要压缩编码,ADPCM是一种可以运行在单片机上的编码方式,原理如下:由于声音信号具有波形上的连续性,因此相邻两个采样值大小也非常接近,记录单个采样值通常需要 16bit,而记录前后两个采样点的差值(差分法),往往只需要 4bit,这便是 ADPCM 压缩编码的基本原理,因此通过 ADPCM
ADPCM是一种很简单实现的音频编码方式,真正的PCM相当占用内存,这对网络和内存的压力是相当大的,因此通常需要压缩编码,ADPCM是一种可以运行在单片机上的编码方式,原理如下:由于声音信号具有波形上的连续性,因此相邻两个采样值大小也非常接近,记录单个采样值通常需要 16bit,而记录前后两个采样点的差值(差分法),往往只需要 4bit,这便是 ADPCM 压缩编码的基本原理,因此通过 ADPCM
转载至知乎 https://zhuanlan.zhihu.com/p/64914472汇编语言论风格来分主要是两类,一类是Intel汇编,一类是AT&T汇编,分别被Windows和Linux作为主流风格。在这篇文章中使用ATT汇编。简单说一下AT&T汇编,"#"井号开头的是注释行,"."点开始的指令一般都是伪指令,"$"美元符号修饰立即数,"%"修饰寄存器。例如:.section .data //
最近工作比较忙,没有时间学(mo)习(yu),立帖为证去了解一些简单的东西:1、C语言函数调用时的栈使用情况2、简单学习汇编语言3、搞一搞脉冲式红外光音频通信over~
ESP32-CAM上传图像数据到Python上位机预防踩坑放在前面:目前安信可官方版的CAM模块已经停售,库存货比较贵,市面上的都是仿制的,质量良莠不齐,给开发带来了很多困扰,经过实际测试,发现山寨货主要有以下几个坑:1、发热严重,不加散热片长时间运行几乎到了烫手的地步,加上散热片也不会好很多2、在分辨率大于640*480后,信号变得异常的差,丢包严重,但如果用手捏着天线,数据传输又会稳定很多第二
将手册翻译成中文并做记录,网页版布局莫名其妙,笔记word放在文档末尾MiWi是一种类似于ZigBee的网络协议,也可以用来Mesh组网,本篇博客仅仅翻译了微芯手册的第五章Mesh部分MiWi组建mesh网络1、MiWiMesh设备类型MiWiMesh协议支持以下设备类型:1.1局域网协调员1.1开始建立一个网络1.2分配和维护协调器及其终端设备地址1.3作为路由帧的协调器1.4通过调试控制可纳入
STM32cubeide在使用时不是很方便,一般都是用外部编辑器进行编程,在必要时才才使用这个ide。自己写了一个批处理脚本,调用的是cubeide的无头编译模式,下载使用的stm32programmer的命令行模式,具体脚本在这里:@echo off echo ----------welcome to tsk tool--------- %设定临时环境变量% set PATH=C:\Prog
什么是QP?上一个博客我提到了在复杂程序中使用状态机的好处,可以使复杂的逻辑在编程时更加清晰,上文中时用到的是FSM有限状态机框架,但是在更加复杂的情况下,可以使用层次状态机,说白了就是状态机中的状态机,最近这两天都在看这个框架,但是以后估计不会用到了,写一篇博客来记录一下学习过程。使用在STM32上可以使用QPC或者是QPN(QP-nano),这篇博客主要是讲一下怎样移植到STM32上,其中QP
今天使用STM32L432开启多路ADC采集,本以为很简单结果还是遇到了大坑,一直卡死在HAL_ADC_Start_DMA函数,需要注意以下问题:1、DMA开启循环采集模式,字节选择半字,ADC中断关掉。2、在cubemx中,DMA中断无法关闭,在MX_DMA_Init()函数中关掉DMA的中断://HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库设置标识符,让别人知道你是谁:git config --global user.name "tianshuaikang" git config --global user.email tianshuaikang@ifengyu.com 创建版本库:在文件
esp8266作为带有wifi功能的单片机可谓是红极一时,很多厂家用它来做智能开关,同时倒闭的厂家也有很多,最近逛闲鱼发现了一批这样的倒闭插座,买了一批回来玩玩:商家请结一下广告费,八个起包邮,索性一次性买了八个。闲鱼网友五彩斑斓的黑对引脚定义进行了总结(感谢!):16为黄灯5为按键4为继电器拆开设备发现厂家将烧录引脚全引出来了,用USB-TTL进行烧录(这里接线就不用说了吧),旁边的焊盘是IO0