嵌入式C语言·MCU高效编程 30章

🎯 风格 · 明快进阶
嵌入式系统简介 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使用
需求分析 架构设计 编码规范 评审流程 测试验证 文档撰写