你要知道 “硬件” 对程序来说是没有任何意义的,程序是个抽象的东西,程序怎么可能控制硬件呢?
不管你的硬件有多复杂,最终都是要通过信号来操控的。那么这个信号怎么传递呢?就要通过总线。你的硬件总要连接在什么总线上的,比如说串口,裸板串口就直接连接在 IO 脚上,Linux 上一般 IO 脚是很稀缺的,就在其它总线分出一些时序给串口,那么最后你的程序是只需要和总线打交道就可以了。对于总线来说,IO 就是发送数据包,接收数据包,数据包又可能分为控制的,载荷的等等,数据包上面又有设备的地址,和发送给设备的控制消息等等。