嵌入式学习随笔一:基础通信协议——IIC协议

学习嵌入式,除了最基本的C语言学习以外,非常重要也是最最基本的知识要点就是弄透设备之间的通讯协议,其中主要讨论的有IIC总线、SPI总线、UART串口通讯和CAN总线四种通讯方式。

IIC总线协议(Inter-Integrated Circuit)是设备间最简单的通信协议之一,它是一种串行数据总线,只由两根线组成数据线(SDA)和时钟线(SCL),这两根线上可以连接多个设备,可实现一对一,一对多和多对多。由于只有一根数据线,所以是一种半双工通信方式,同一时间只能一端发送另一端接收,控制时钟线的作为主机。在数据传输的过程中采用的是高位(MSB)在前低位(LSB)在后的传输方式(小端模式)。

一.IIC协议时序

时序是IIC总线协议在编程上的敲门砖,弄懂了时序图才能进行下一步的工作,具体的图形可以在网上百度,这里就只做文字说明,时序信号分为起始信号、终止信号、应答信号、非应答信号。在开始数据传输之前,即总线处于闲置状态时,SDA和SCL的初始电平都被上拉电阻控制为高电平,而且不同状态的改变都是通过SDA信号线的改变实现的。 

(1)起始信号:SCL保持高电平期间(保持一定的延时 1us即可),SDA由高电平变为低电平,编程为:SCL=1;SDA=1;delay();SDA=0;SCL=0;(SCL拉低可进行数据传输)

(2)终止信号:SCL保持高电平期间(保持一定的延时 1us即可),SDA由低电平变为高电平,编程为:SCL=1;SDA=0;delay();SDA=1,SCL=0;

注:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值