SMBus 是 System Management Bus 的缩写,是1995年由Intel提出的,应用于移动PC和桌面PC系统中的低速率通讯。它主要是希望通过一条廉价并且功能强大的总线(由两条线组成),来控制主板上的设备并收集相应的信息,主要用于电源管理!
SMBus其实就是I2C,只是有一点差异而已,比如频率限定在10-100K、严格的ACK机制等等!
用新唐CODE模式来实现I2C最好了,占用系统时间少!
在实际的电池通信中千变万化,可以不是标准的SMBUS,所以我选择使用旧的模式来实现I2C。
比较懒,直接上图,代码不好看,若要代码可下载附件,我的TAB为两个空格!
头文件:
用于SMBUS超时推出的宏定义,SMBUS对于ACK及超时有严格的要求,所以增加这个宏
初始化,我将所有的CALLBACK函数都安装了!但没有开启,在发送START开,发STOP关
START
写一个byte
贴这些大家应该就明白了,其他的可以下附件查看! |