i2c总线设备驱动开发的简单例子

sxxajian   2008-4-1 16:14 楼主
各位大哥:
    小弟现在想开发i2c总线上的设备驱动。默认i2c总线驱动已经好用。
    现在已知:
    从设备的Slave Address;
    需要操作的寄存器地址;
    应该向寄存器各位写入的内容;

    想知道i2c总线驱动是否提供了对外的接口,把寄存器地址和要写的内容传进去????


谢谢



回复评论 (6)

做成 标准的 流驱动就可以。。。。。
点赞  2008-4-1 21:55
能说的详细点么?谢谢
点赞  2008-4-2 09:23
按协议向i2c总线上写串行流就可以吧。

然后等待从设备的响应
点赞  2008-4-2 10:29
能有代码示例么?谢谢
点赞  2008-4-2 11:00
你去看看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的控制器的话,直接往寄存器里写值就好了,先写从设备地址,再写命令,等待响应,也是从寄存器里读取返回值.
需要看控制器的说明书.
点赞  2008-4-2 11:40
仔细看DATASHEET 按照协议传输需要的东西
点赞  2008-4-6 17:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复