ARM要和传感器等芯片进行通信,需要物理线路.用于传送数据的物理线路,称为总线.根据传送的数据速度 物理线路的多少,有很多不同的总线.最常见的是 串口总线 SPI总线 I2C总线 USB总线等.
我们简单的介绍一下串口和i2c接口.
串口,UART,有两根线,分别为TX RX.TX用于发送本地数据到对方,RX用于接收对方数据到本地.所以他是一个双向通信的总线,并且收发可以同时进行,又称为 双工通信.
下图是UART的通信协议:
串口的速度,一般为9600bps 115200bps,这个速度和我们2G时代移动网上速度基本一种,可以满足传送文本数据的要求.适用在一些传感器数据收发上,不适用于语音 视频 和UI显示等应用.
i2c接口同样有两根线构成,分为数据线 地址线.因为数据线只有一根,所以一个时刻只能单向的发送数据,称为 半双工. 这两根线上可以挂载很多从设备,主设备为了区分每一个从该设备,要求每一个从设备都有一个唯一的从地址.
主设备如何控制从设备,和从设备进行数据交互呢?每个从设备内部都有很多寄存器,主设备读写这些寄存器即可完成对设备的控制. 寄存器的内容,需要查看该芯片的datasheet,里面会有厂家的详细描述.
下图是i2c的连接图:
i2c接口的速度分为100kbps,400kbps,3.4Mbps,速度比串口要快很多,但是也仅限于文本通信,对语音传输还是达不到要求的.
下图是写一个寄存器的过程:
下图是读一个寄存器的过程:要注意 读过程包含写过程和读过程.
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!(点击找小助理领取)