- 介绍
- 1. 背景
- 2. 硬件/知识要求
- 3. 搭建开发环境
- 3.1. Linux
- 3.2. Windows
- 3.3. macOS
- 3.4. 验证安装
- 4. 满足您的硬件
- 5. LED轮盘
- 5.1. 构建
- 5.2. 闪存
- 5.3. 调试
- 5.4. led和delay抽象
- 5.5. 挑战
- 5.6. 我的解决方案
- 6. Hello, world!
- 6.1. panic!
- 7. 寄存器
- 7.1. RTRM
- 7.2. (mis)优化
- 7.3. 0xBAAAAAAD地址
- 7.4. 超距作用
- 7.5. 类型安全操作
- 8. LEDs, again
- 8.1. 功率
- 8.2. 配置
- 8.3. 解决方案
- 9. 时钟和计时器
- 9.1. for循环延迟
- 9.2. NOP
- 9.3. 一次性定时器
- 9.4. 初始化
- 9.5. 繁忙等待
- 9.6. 把它们放在一起
- 10. 串口通讯
- 10.1. *nix工具
- 10.2. Windows工具
- 10.3. Loopbacks
- 11. USART
- 11.1. 发送单个字节
- 11.2. 发送字符串
- 11.3. Buffer溢出
- 11.4. uprintln!
- 11.5. 接收单个字节
- 11.6. Echo服务器
- 11.7. 反转字符串
- 11.8. 我的解决方案
- 12. 蓝牙设置
- 12.1. Linux
- 12.2. Loopback
- 12.3. AT命令
- 13. 通过蓝牙串行
- 14. I2C
- 14.1. 通用协议
- 14.2. LSM303DLHC
- 14.3. 读取单个寄存器
- 14.4. 解决方案
- 14.5. 读取寄存器
- 15. LED指南针
- 15.1. Take 1
- 15.2. 解决方案 1
- 15.3. Take 2
- 15.4. 解决方案 2
- 15.5. 大小
- 15.6. 校准
- 16. 冲压式流量计
- 16.1. 重力上升了?
- 16.2. 挑战
- 16.3. 我的解决方案
- 17. 还有什么需要你去探索
- 一般故障排除
- 如何使用GDB