国际哥的独立博客

高冷的逗逼码农

硬核音频系列(一)—— 声音信息的表示

基础概念扫盲,PCM 编码方式

关于「硬核音频系列」 千万别被标题所迷惑,这个系列讲的可不是什么高深莫测的理论,或者奇淫巧技骚操作,而是个人在接触数字音频知识以来的切身体会,以及少量代码实践后的学习笔记。在参与公司项目的过程中,先后了解了 PCM 编码、压缩编解码、淡入淡出等知识,因此本系列文章也将按照这个顺序组织,内容偏向入门小白级别,同时结合嵌入式系统的特点,分为三篇记录总结我的音频学习之路: 硬核音频系列(...

硬核音频系列(二)—— 音频文件编解码格式 ADPCM

动手实现 adpcm 解码器

硬核音频系列文章列表: 硬核音频系列(一)—— 声音信息的表示:基础概念扫盲,PCM 编码方式 硬核音频系列(二)—— 音频文件编解码格式:动手实现 adpcm 解码器 硬核音频系列(三)—— 线性淡入淡出:算法思路、实现与优化方法描述 在系列第二篇,会介绍一些关于音频数据存储、处理的内容,并回答上一篇末尾提出的两个问题:如何减小 PCM 格式数据的体积和管理这些数据。 ...

硬核音频系列(三)—— 线性淡入淡出

算法思路、实现与优化方法描述

硬核音频系列文章列表: 硬核音频系列(一)—— 声音信息的表示:基础概念扫盲,PCM 编码方式 硬核音频系列(二)—— 音频文件编解码格式:动手实现 adpcm 解码器 硬核音频系列(三)—— 线性淡入淡出:算法思路、实现与优化方法描述 硬核音频系列第三篇,聊聊淡入淡出怎么搞。 音频淡入淡出概述 淡入淡出(fade in & fade out)可以实现音频音量...

STM32 Nucleo-64 开发板连接 RW007 WiFi 模块

助力万物互联,RW007 上手体验

一、简介 本文使用 STM32 Nucleo 开发板连接 RW007 WiFi 模块,通过运行 RT-Thread 操作系统,让开发板轻松愉快联网。 STM32F401 Nucleo-64 STM32 Nucleo-64 是 ST 官方推出的开发板,依据搭载的 STM32 芯片型号不同(皆为 LQFP64 封装),分为众多版本,本文所使用的是带 STM32F401RE 芯片的板子 ——...

select() 学习笔记

初步认知、例程及原理简析

初步认知 select() 能实现非阻塞数据读写,避免阻塞线程以及维护多线程带来的额外消耗。 select() 是一个系统调用(system call),由具体操作系统实现,不难理解,因为其行为涉及到 IO、文件系统等操作,而这些服务都是操作系统提供的。 select() 函数监视多个 fd(file descrīptor 文件描述符)的状态变化,这些 fd 可分为三大类:r...

【踩坑记录】 cp2102 「设备的最大波特率为 1280000」 错误

Realtek 烧录工具 Image_Tool 打开串口失败问题记录

问题描述 在使用搭载 cp2102 芯片的板子上,使用 Realtek Image_Tool 工具烧写时,打开串口会提示 Error: Could not open COMXX! Original error: 设备的最大波特率为 1280000,网上没有找到相关资料,在同事电脑一切正常。 问题分析 自己的 cp2102 驱动是从官网下的最新版,对比后发现版本比我低,让他也更新到我...

毕业季 —— 回顾、收获与未来

大四总结

刚好在星球看到张哥布置的「2018上半年复盘作业」,仔细一想也差不多该写年度总结了。干脆就趁这个机会总结一下去年 9 月到今年 6 月的所做所想,也算给自己一个冷静思考的机会。 一条咸鱼的诞生 没有了上一年总结时的野心勃勃,在这差不多一年的时间里,我成功把自己变成了一条不折不扣的「咸鱼」,具体表现为:饮食作息全都随缘,很少主动学习提升,对待事情常常毫无所谓……特别是在学校的最后几个月...

ESP8266(Non-OS SDK) 驱动 waveshare 2.9 寸墨水屏(二)

程序移植、修改与测试

开始移植 上一篇文章简单介绍了了墨水屏原理、例程代码以及移植工作的可行性。这一步的目的是把前面在 STM32 跑的程序,完整地搬到 esp8266 上,达到相同的运行显示效果,Let’s get started! 移植好的程序源代码:esp8266-E-ink-network-subscriber/device/example/e-paper at master · shaoguoji/...

ESP8266(Non-OS SDK) 驱动 waveshare 2.9 寸墨水屏(一)

显示原理、源码分析及准备工作

随着屏幕的阵阵闪烁刷新、黑白字符图案浮现眼前,毕业设计总算有了起色。经历了几个下午的不懈努力总算把墨水屏驱动搞定,点亮的何止是小小的墨水屏,还有我骚动的心呐!一开始还想着从头啃芯片手册造轮子,最后由于时间紧迫 + 能力有限,于是想(tou)到(lan)把微雪提供的 STM32 例程移植到 8266。 由于都是纯 C 的代码,整个过程说不上十分艰辛,但也踩了不少坑:从最初对 8266 硬...

Linux 软链接与硬链接

文件访问,能软能硬?

说在前面 最近从常用命令开始学 Linux,看到 ln 命令时突然蹦出硬链接和软连接这两个概念,在阅读了一些的书籍和资料后,决定写篇文章整理记录一下思路。hard link 和 soft link 作为两种不同的文件访问方式,提供了灵活的文件共享特性。在讨论两者的区别之前,了解一点关于文件的背景知识很有必要。 数据访问 —— 从文件名到硬盘 我们总是对硬盘如何正确地储取文件感到好奇...