|
你去看看I2C的协议啊,举个例子给你.
void IICStart()//发送开始信号
{
SCL=0;
SDL=1;
SCL=1;
Delay();//起始信号建立时间
SDA=0;
Delay();//起始信号保持时间
SCL=0;//结束
}
void IICSendByte(BYTE value)//发送一字节
{
BYTE count;
for(count=8;count>0;count--,value<<=1)
{
SCL=0;
Delay();
if(value&0x80)
SDA=1;
else
SDA=0;
Delay();
SCL=1;
Delay();
}
SCL=0;
}
至于要延时多久也要看协议.
如果有IIC的控制器的话,直接往寄存器里写值就好了,先写从设备地址,再写命令,等待响应,也是从寄存器里读取返回值.
需要看控制器的说明书. |
|