嵌入式系统简介
MCU选型考量
C语言角色
高效编程意义
Keil/IAR/STM32CubeIDE
工程模板建立
编译器选项配置
调试器使用
标准整型(int8_t等)
浮点型陷阱
枚举与联合体
位域精打细算
指针基础
指针与数组
函数指针
指针的指针
const指针保护
堆栈机制
静态内存分配
动态内存慎用
内存对齐与填充
位与/或/异或/取反
移位操作
位掩码
寄存器位操作实战
#define高级用法
#ifdef/#ifndef
#pragma once
X-Macro技巧
头文件设计原则
extern与static
内联函数
代码分层架构
中断优先级
中断嵌套
临界区保护
volatile关键字
中断延迟优化
定时器原理
PWM生成
输入捕获
输出比较
时间基准设计
GPIO寄存器映射
位带操作
批量IO操作
去抖处理
UART协议
环形缓冲区
中断收发
DMA传输
波特率误差
SPI模式
全双工通信
DMA配合
多从机管理
高速设计要点
I2C协议
多主机仲裁
时钟拉伸
软件模拟I2C
速率优化
ADC采样率
分辨率
过采样技术
DMA传输
校准方法
DMA原理
循环模式
双缓冲
内存到内存传输
性能分析
FreeRTOS任务创建
任务调度
优先级反转
堆栈大小估算
睡眠模式
停止模式
待机模式
外设时钟门控
功耗测量
独立看门狗(IWDG)
窗口看门狗(WWDG)
复位原因分析
故障安全
启动流程
Flash分区
固件升级
CRC校验
回滚机制
循环展开
查表法
分支预测
内联汇编
编译器优化等级
SWD/JTAG调试
printf重定向
SEGGER RTT
断言使用
Tracealyzer
Unity/CMock框架
模拟外设
测试覆盖率
持续集成
Git基础
分支策略
代码审查
标签管理
.gitignore配置
标准外设库
HAL库对比
LL库使用
抽象层设计
代码生成工具
WCET分析
中断延迟测量
任务响应时间
调度分析
Modbus
CAN
TCP/IP精简栈
自定义协议设计
帧同步
I2C/SPI驱动模板
校准数据存储
滤波算法
FIFO使用
需求分析
架构设计
编码规范
评审流程
测试验证
文档撰写