各位大哥:
小弟现在想开发i2c总线上的设备驱动。默认i2c总线驱动已经好用。
现在已知:
从设备的Slave Address;
需要操作的寄存器地址;
应该向寄存器各位写入的内容;
想知道i2c总线驱动是否提供了对外的接口,把寄存器地址和要写的内容传进去????
谢谢
按协议向i2c总线上写串行流就可以吧。
然后等待从设备的响应
你去看看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的控制器的话,直接往寄存器里写值就好了,先写从设备地址,再写命令,等待响应,也是从寄存器里读取返回值.
需要看控制器的说明书.