如何与Linux中的此A / D转换器对话ADS7138

问题描述

对于一个项目,我正在考虑使用TI相对较新的IC-ADS7138。问题(我相信,尽管我可能错了)是内核中没有该芯片的驱动程序。有人对与该驾驶员交谈有任何建议吗?我是否可以使用其他驱动程序,还是坚持编写特定于该IC的自定义驱动程序?

解决方法

我曾使用相同的IC进行电路板启动项目。我找不到驱动程序,所以我自己写了一个。我希望它也对您有用: ADS7138 Driver

,

直到找到兼容的内核驱动程序或自己进行开发,您可以使用i2c-tools从用户空间快速尝试ADC。您可以使用命令行工具或API来编写自己的应用程序,但是请谨慎使用i2cget(8)之类的命令行工具,请先阅读手册页并注意警告部分。

要使用API​​,open(2) i2c设备,请使用ioctl(2)设置从站地址,然后使用i2c_smbus_write_word_data()i2c_smbus_read_word_data()等smbus API。您可以使用查看类似 i2cget.c 的工具代码本身,以了解如何使用API​​。以下是一个简单的代码,可从连接到/ dev / i2c-0的I²C芯片读取寄存器。

int fd = open("/dev/i2c-0",O_RDWR);
ioctl(fd,I2C_SLAVE,slave_address);
__s32 res = i2c_smbus_read_word_data(fd,register_address);
close(fd);

有关更多详细信息,请参见内核文档或有关i2c/smbusinstantiating i2c devices的网络。