企业网站分析报告,win7搭建网站服务器,百度排名竞价,宣传片拍摄制作公司报价明细目录 1.IIC协议概述
2.IIC总线传输
3.IIC-51单片机应用
1.起始信号
2.终止信号
3.应答信号
4.数据发送
4.IIC-32单片机应用
用到的库函数#xff1a; 1.IIC协议概述
IIC全称Inter-Integrated Circuit (集成电路总线)是由PHILIPS公司在80年代开发的两线式串行总线 1.IIC协议概述
IIC全称Inter-Integrated Circuit (集成电路总线)是由PHILIPS公司在80年代开发的两线式串行总线用于连接微控制器及其外围设备。IIC属于半双 工同步通信方式
特点
简单性和有效性
由于接口直接在组件之上因此IIC总线占用的空间非常小减少了电路板的空间和芯片管脚的数量降低了互联成本。总线的长度可高达25英尺并且能够以10Kbps的最大传输速率支持40个组件
多主控(multimastering)
其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当 然在任何时间点上只能有一个主控。
构成
IIC串行总线一般有两根信号线一根是双向的数据线SDA另一根是时钟线SCL其时钟信号是由主控 器件产生。所有接到IIC总线设备上的串行数据SDA都接到总线的SDA上各设备的时钟线SCL接到总线 的SCL上。对于并联在一条总线上的每个IC都有唯一的地址。 2.IIC总线传输
IIC总线在传输数据的过程中一共有三种类型信号分别为开始信号、结束信号和应答信号。
//起始位停止位数据位速度
这些信号中起始信号是必需的结束信号和应答信号
起始信号终止信号应答信号
发送器每发送一个字节8个bit就在时钟脉冲9期间释放数据线由接收器反馈一个应答信号。 应答信号为低电平时规定为有效应答位ACK简称应答位表示接收器已经成功地接收了该字节
应答信号为高电平时规定为非应答位NACK一般表示接收器接收该字节没有成功。 数据发送的时序
3.IIC-51单片机应用
先确认IO口
sbit scl P0^1;
sbit sda P0^3;1.起始信号
void IIC_Start()
{sda 1;scl 1;_nop_();sda 0;_nop_();
}
2.终止信号
void IIC_Stop()
{sda 0;scl 1;_nop_();sda 1;_nop_();
}
3.应答信号
char IIC_ACK()
{char flag;sda 1;//就在时钟脉冲9期间释放数据线_nop_();scl 1;_nop_();flag sda;_nop_();scl 0;_nop_();return flag;5.1.3 OLED写命令写命令/数据的代码
}
4.数据发送
void IIC_Send_Byte(char dataSend)
{int i;for(i 0;i8;i){scl 0;//scl拉低让sda做好数据准备sda dataSend 0x80;//1000 0000获得dataSend的最高位给sda_nop_();//发送数据建立时间scl 1;//scl拉高开始发送_nop_();//数据发送时间scl 0;//发送完毕拉低_nop_();//dataSend dataSend 1;}
}4.IIC-32单片机应用
用到的库函数
HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c,
uint16_t DevAddress,
uint16_t MemAddress,
uint16_t MemAddSize,
uint8_t *pData,
uint16_t Size,
uint32_t Timeout)
参数一I2C_HandleTypeDef *hi2cI2C设备句柄参数二uint16_t DevAddress目标器件的地址七位地址必须左对齐参数三uint16_t MemAddress目标器件的目标寄存器地址参数四uint16_t MemAddSize目标器件内部寄存器地址数据长度参数五uint8_t *pData待写的数据首地址参数六uint16_t Size待写的数据长度参数七uint32_t Timeout超时时间返回值HAL_StatusTypeDefHAL状态OKbusyERRORTIMEOUT