欢迎来到我的笔记站
这里汇集了我在 Obsidian 中整理的学习笔记与思考记录,通过 Quartz 自动发布到 notes.cijun.win。
左侧的「资源管理器」可以浏览全部笔记,顶部搜索框支持全文检索,点击任意双链可以跳转到相关页面。
关于本站
- 主站域名:
cijun.win - 笔记站域名:
notes.cijun.win - 发布方式:Obsidian → GitHub → Cloudflare Pages(全自动)
- 生成工具:Quartz 5
从这里开始,慢慢构建属于你的知识花园。
📖 笔记总览
全部笔记按主题分为 6 个分区。每篇笔记顶部都带 tags,可在标签页按主题筛选。
🧩 C 语言(17)
语言特性 —— 关键字、类型语义、编译期行为
- __weak 弱符号修饰 —— 编译器扩展属性,允许用户重定义同名函数
- inline 内联函数 —— 为什么内联函数必须在头文件里实例化
- volatile关键字 —— 禁止编译器优化,强制读写内存
- uint8_t与char类型及其指针 —— 两个”单字节类型”在语义与跨平台上的区别
- 共同体union —— 成员共享同一段内存
- 格式化字符串前的空格 ——
scanf(" %c")里那个空格有什么用 - 比较浮点数是否等于0的注意事项 —— 为什么不能直接用
== - 注册回调函数 —— 函数指针 typedef 与注册接口写法
内存与类型转换 —— 内存布局、链接过程、字节序与序列化
- 内存布局 —— 代码段 / 静态数据区 / 动态数据区 / ASLR 全览
- 内存对齐 —— 对齐规则与
#pragma pack(1) - 翻译单元与重复定义 —— 声明与定义分离、
static的作用域隔离 - 小端存储与大端存储 —— 数据高低位如何填入内存
- 字符串与其他数据类型的转换 ——
ato与strto系列的错误处理差异 - 组装原始字节 ——
memcpy与指针强制转换的取舍
位运算 —— 逐位操作的规则与实战
🐍 Python(2)
- Python异常处理(try-except) ——
try / except / else / finally完整结构 - global关键字 —— 在函数内访问与修改全局变量
🔌 嵌入式(23)
STM32 外设 —— 通信、DMA、定时器、启动与调试
- CAN通信 —— 物理层、硬件构成与差分信号
- DMA+双缓冲 —— 硬件双缓冲与软件双缓冲的取舍
- 定时器的PWM模式 —— PWM 周期与占空比的寄存器关系
- 硬件I2C和软件I2C —— 时序由谁产生
- 在STM32中使用printf函数 —— 重写
fputc做串口打印 - 关闭DMA传输过半中断 —— 空闲中断 + DMA 接收的配套动作
- STM32中HAL库串口数据收发——类型转换问题 —— 字节流本质与收发约定
- BOOT —— 启动模式与 BOOT 引脚
- J-link烧录 —— SWD 与 JTAG 调试协议
- Hardfault处理 —— 解析栈帧定位 PC,两种排查手法
电机与运动控制
- PID算法 —— P / I / D 三个环节各解决什么问题
- PID算法控制代码 —— 可直接复用的
pid.h/pid.c - 电机自控系统 —— 控制系统结构、关键指标与电机建模
- 直流减速编码电机接线 —— 电机 + 驱动板的连接与调速
- 直流电机编码器获取转向和转速原理 —— 编码器工作原理
- 伺服电机servo
- 偏心补偿 —— IMU 不在旋转中心时的寄生加速度剔除
- 电角度零位校准 —— FOC 电角度零位标定:误差后果、故障区分、六种校准方法
- FOC任务调度 —— 载波时基、五层任务分频、1.5Ts 延迟与编码器对齐
姿态与滤波
- 卡尔曼滤波 —— 一维 / 二维实现、整定直觉与落地踩坑
- 惯性导航 —— IMU、姿态角解算与互补滤波
- 姿态角(欧拉角) —— Pitch / Yaw / Roll
- 左手系与右手系的转化 —— 取反一个轴即可换手系
⚡ 硬件电路(9)
电源设计
元件与信号
- 上拉电阻 —— 取值区间、漏电流与驱动能力的权衡
- 差分信号 —— 显性 / 隐性电平
- 功率类、数字类、模拟类 —— GND 的划分与 VCC / VCCA 隔离
- 电路中的电流分配---驱动电流 —— 恒流源与恒压源、电压驱动型与电流驱动型
芯片手册
- FD6288T三相栅极驱动器学习笔记 —— 三相 250V 栅极驱动器数据手册精读
- MPU6050 —— 寄存器定义 + 驱动实现
🧰 代码片段(3)
可直接取用的完整实现:
- 快速计算三角函数 —— 查表法 + 线性插值的
Qmath.h/Qmath.c - VOFA调参 —— VOFA 上位机在线改 PID 参数的解析函数
- delay —— 基于微秒计数器的
Delay_us/Delay_ms/Delay_s
🖥️ 计算机基础与工具(5)
- 架构 —— 指令集与 CPU 架构分类(Cortex-A / R / M)
- MMU与MPU —— 地址转换、虚拟内存与访问权限保护
- 终端常用命令 —— cd / ls / mkdir / rm 等速查
- make工具和CMake —— 两者的分工与
CMakeLists.txt编写 - VSCode任务配置 ——
tasks.json构建任务配置
📚 Quartz 教程
本站通过 Quartz 自动发布,相关配置与排错记录在以下笔记中:
- Quartz/Quartz 使用教程 —— 是什么、日常怎么写、常用命令
- Quartz/部署与更新 —— 子模块机制、Cloudflare Pages 部署、日常更新步骤
- Quartz/常见问题 —— 404、空站、样式错乱等排错指南
📝 笔记书写约定
为了让笔记在 Obsidian 和发布后的网站上都好看,统一遵循:
- 每篇一个 H1:文件标题即笔记名,正文小节从
##开始 - Callout 用合法类型:
note/info/tip/warning/important,标题写在类型后面,如> [!tip] 省流 - 图片放同目录
attachments/,正文里用![[图片文件名]]引用 - frontmatter 写
title与tags,方便按标签浏览