通用外设是嵌入式系统的基础组件:GPIO、UART、I2C、SPI、ADC、PWM、Timer……它们承担处理器与外部世界的数据交换,是把一颗芯片变成一个产品的第一层接口。本文是这个栏目的总览,给出每类外设的定位与本栏目的学习主线。
常用外设一览
| 接口 | 一句话定位 | 典型用途 |
|---|---|---|
| GPIO | 最简单的数字输入/输出 | 按键、LED、复位脚、中断源 |
| UART | 异步串行、全双工 | 调试 console、模块通信 |
| I2C | 两线、多从机、开漏 | 低速配置类器件(sensor 寄存器、EEPROM) |
| SPI | 四线、全双工、时钟快 | Flash、屏幕、高速 ADC |
| ADC/DAC | 模拟与数字的桥梁 | 采样、音频、传感器 |
| PWM/Timer | 时间维度的控制 | 电机、背光、定时与计时 |
本栏目的学习主线:同一外设的”三副面孔”
同一个 UART,在裸机里是直接读写寄存器,在 RTOS 里是带阻塞语义的驱动接口,在 Linux 里则是 tty 子系统下的设备节点。后续文章将按 GPIO → UART → I2C → SPI 的顺序,分别从这三个视角各写一篇,形成对照。
延伸阅读
- I2C 协议研究——两线总线的协议级深挖
- Linux 内核中 USB 子系统——从总线-设备-驱动模型看 Linux 如何管理外设
欢迎关注公众号,第一时间收到更新
本文首发于 monykate.com · 全文与代码格式以博客为准