我正在尝试通过SMBus监控我的电池状态。
我有一个电池和一个不断输出电池状态的控制板。
然后,这个控制板通过I2C-USB模块连接到我的主板。
我需要编写一个程序来识别SMBus连接并将电池状态传输给用户。
当涉及到处理智能电池和I2C/SMBus时,我是一个初学者,我对如何处理这个问题有点迷茫。
任何建议的帮助都将不胜感激。谢谢。
发布于 2010-09-08 20:23:52
你的问题有点欠缺。哪种I2C-USB模块?或者更确切地说,它附带了Linux驱动程序?如果是这样的话,你可能就不需要写一个了。一个应用程序就可以了。您可以阅读有关I2C和SMBus here的更多信息。
基本上,您需要的是控制板的I2C地址(单字节)。获得地址后,您(作为主机)通过I2C总线使用其地址向控制板发出读取命令,并读取响应。如果有I2C-USB模块的驱动程序,这应该很简单。插入设备并打开()设备(/dev/i2c-usb-name,其中i2c-usb-name是设备的名称)。然后遵循驱动程序实现者的指南,如何在该设备上设置和发送数据(通常使用read()、/write()或ioctl())。以下是有关从用户空间使用I2C的一些附加信息:http://www.mjmwired.net/kernel/Documentation/i2c (选择左侧菜单中的主题)。
如果你必须自己编写驱动程序,那么对于Linux设备驱动初学者来说,第一站就是LDD3。读一读,这是一本非常令人愉快的书。
https://stackoverflow.com/questions/3303589
复制相似问题