通过 SMBus 访问/监控电池状态
Posted
技术标签:
【中文标题】通过 SMBus 访问/监控电池状态【英文标题】:Accessing/monitoring battery status through SMBus 【发布时间】:2010-07-21 20:35:00 【问题描述】:我目前正试图通过 SMBus 监控我的电池状态。
我有一个电池和一个不断输出电池状态的控制板。
这个控制板然后通过 I2C-USB 模块连接到我的主板。
我需要编写一个程序来识别 SMBus 连接并将电池状态传输给用户。
在处理智能电池和 I2C/SMBus 方面,我是初学者,我对如何解决这个问题有些迷茫。
任何建议的帮助将不胜感激。谢谢。
【问题讨论】:
【参考方案1】:你的问题有点欠缺。什么样的I2C-USB模块?或者更确切地说,它是否带有 Linux 驱动程序?如果是这样,你可能不需要写一个。一个应用程序就可以了。您可以阅读有关 I2C 和 SMBus 的更多信息here。
基本上你需要的是控制板的I2C地址(一个字节)。当您拥有地址时,您(作为主机)使用其地址通过 I2C 总线向控制板发出读取命令并读取响应。如果有 I2C-USB 模块的驱动程序,这应该很简单。插入设备并 open() 设备(/dev/[i2c-usb-name] 其中 [i2c-usb-name] 是设备的名称)。然后按照驱动程序实现者的指南如何设置和通过该设备发送数据(通常使用 read()/write() 或 ioctl())。以下是有关从用户空间使用 I2C 的一些附加信息:http://www.mjmwired.net/kernel/Documentation/i2c(在左侧菜单中选择主题)。
如果您必须自己编写驱动程序,Linux 设备驱动程序初学者的第一站是LDD3。读一读,读起来很舒服。
【讨论】:
以上是关于通过 SMBus 访问/监控电池状态的主要内容,如果未能解决你的问题,请参考以下文章