明远智睿技术论坛
标题:
i.MX6Q I2C驱动测试
[打印本页]
作者:
wujinzhong888
时间:
2016-12-13 16:07
标题:
i.MX6Q I2C驱动测试
i.MX6S I2C驱动中有一个例子:气压高度传感器。想问一下,测试这个模块的应用程序源码在哪里?
作者:
软件01
时间:
2016-12-14 10:35
很少用这个东西,所以没写这个应用,方法跟其他I2C的方法一样的,首先访问I2C的设备地址,在访问相关寄存器
作者:
wujinzhong888
时间:
2016-12-16 11:28
i.MX6Q I2C芯片ADS1110 linux设备文件节点/dev/i2c-0 已解决 源码如下:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/i2c-dev.h>
#define I2C_DEV "/dev/i2c-0"
#define CHIP_ADDR 0x48
static int read_I2C(int fd, char buff[], int addr, int count)
{
int res;
if(write(fd,&addr,1)!=1){
printf("write failed\n");
return -1;
}
while(1){
res=read(fd,buff,count);
int lum_value = buff[0]*256 + buff[1];
printf("The lum value is %d\n", lum_value);
usleep(100000);
}
return res;
}
int main()
{
int fd, res;
fd = open(I2C_DEV, O_RDWR);
if(fd < 0){
printf("####i2c test device open failed####\n");
return (-1);
}
res = ioctl(fd,I2C_TENBIT,0);
res = ioctl(fd,I2C_SLAVE,CHIP_ADDR);
char buff[4];
read_I2C(fd, buff, CHIP_ADDR,4);
close(fd);
return 0;
}
欢迎光临 明远智睿技术论坛 (http://bbs.myzr.com.cn/)
Powered by Discuz! X3.2