02-09 深入浅出Goertzel算法 在数字信号处理(DSP)中,当需要分析信号的频谱的时候,最常用也最为大众熟悉的应该就是快速傅里叶变换(FFT)。但是在某些特定场景,我们只关心某个或某几个特定频率的时候,计算完整的FFT很划不来,尤其是在性能受限的嵌入式设备上或要求高实时性的场景中。 这时候,就该Goertzel算法登场了,它不需要 36 0 0
11-26 ghcr的华为云公益代理 封装成函数写在.bashrc里方便使用: # 自定义函数:拉取 ghcr.io 镜像并自动使用华为云代理 function dghcr() { # 获取原始镜像名 (例如: ghcr.io/pytorch/pytorch-nightly:latest) local image_nam 50 2 2
11-06 C++简易线程池实现 在使用现代化C++实现线程池的基础上优化。 class ThreadPool { private: // 任务的抽象基类 class ITask { public: virtual ~ITask() = default; virtual voi 25 0 0
07-10 精简的MCU裸机Modbus-RTU实现 基于GD32F305实现和测试,核心层已经初步抽象出来了,方便移植,从机部分已测试通过,主机部分暂未测试。记录备份一下,以后完善。 用于配置的头文件: #ifndef __MODBUS_CONFIG_H__ #define __MODBUS_CONFIG_H__ #include "modbus_ 66 0 1
06-18 深入探究C++虚函数表 以下讨论均基于Windows x64平台MSVC v14.42.34433环境。 关于虚函数表 众所周知,虚函数主要被用来实现多态机制,即通过基类指针或引用访问虚函数时,被访问的必须是该指针或引用所指对象的动态类型中该函数的最终重写版本。简而言之,运行时调用哪个函数,取决于对象的真实类型,而不是指针 72 1 0
01-15 将Keil工程移植为CMake工程 前期准备 一个Keil工程 根据主机平台和目标平台选择并安装交叉编译工具链,目标平台为ARM的直接官网下载:Arm GNU 工具链下载 – Arm Developer。如本文选择 安装CMake、Ninja(非必须,因为MinGW支持Unix m 964 0 0
01-06 C++数组退化问题 #include <iostream> #include <type_traits> template<typename T> bool foo(T *param) { return std::is_same<T *, char *>::value; } int main() { 32 0 0
12-20 记一次开启编译优化选项后程序无法正常运行的调试过程 在开发的时候一直使用的Debug构建类型方便调试,今天换成Release突然发现程序不能运行了,屏幕都不亮了,于是尝试找出到底是哪里的代码导致的问题,先定位一下是哪个文件吧。保持Release构建类型不变,在CMakeLists.txt中将部分文件的编译优化关闭,逐步排查。比如我这里把Hardwar 159 0 0