|
使用的时候注意调整一下IIC的延时根据你们单片机指令和频率调整
void IIC_Init(void)
{
SCL=1;//时钟线拉高
_nop_();_nop_();_nop_();_nop_();
SDA=1;//数据线拉高
_nop_();_nop_();_nop_();_nop_();
}
//**********************************************
// IIC延时400KHz
//**********************************************
void IIC_Delay()
{
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}
//**********************************************
// IIC 总线启动
//**********************************************
void IIC_Start()
{
SCL=1;
SDA=1;
IIC_Delay();
SDA=0;
IIC_Delay();
SCL=0;
IIC_Delay();
}
//**********************************************
// IIC 停止,释放总线。
//**********************************************
void IIC_Stop()
{
SDA=0;
SCL=1;
IIC_Delay();
SDA=1;
IIC_Delay();
}
|
|