C语言&嵌入式

总线与协议

2017-07-03  本文已影响13人  jkCodic

数据总线

一 IIC使用笔记

一句话总结:IIC的使用就是拉高降低时钟线(中间有延时设置)来接收和发送数据
IIC对应有总线和设备 发送接收一个字节信息的例子 多个数据呢? 主从 适用场景(MPU6050)
数据合成 大体使用流程和例子代码(代表性的具体项目)

1.时钟SCL/数据SDA引脚定义;
2.I^C时序中延时设置(起始信号)
SDA = 1;//拉高数据线
SCL = 1;//拉高时钟线
//Delay2us();
SDA = 0;//产生下降沿
//Delay2us();
SCL = 0;//拉低时钟线

void Delay2us()
{
unsigned char i;
i = 2;
while (--i);
}

3.发送数据
void I2C_SendByte(unsigned char dat)
{
unsigned char i;
for (i=0; i<8; i++) //8位计数器
{
dat <<= 1; //移出数据的最高位
SDA = CY; //送数据口
SCL = 1; //拉高时钟线
Delay2us();
SCL = 0; //拉低时钟线
Delay2us();
}
I2C_RecvACK();
}

4.接收应答信号(数据)
bit I2C_RecvACK(void)
{
SCL = 1; //拉高时钟线?
Delay2us();
CY = SDA; //读应答信号
SCL = 0; //拉低时钟线
Delay2us();
return CY;
}

二SPI

spi介绍.png

地址总线

指令总线

通信协议

智能家居通信协议 http://theme.eccn.com/theme/2016/Smarthome/tecShow/2016090614111795.html
类似安全加解密 传输标准 基于TCP/IP
http://blog.csdn.net/phunxm/article/details/5086080

相关术语

数据报

上一篇下一篇

猜你喜欢

热点阅读