• «
  • 1
  • 2
  • »
  • Pages: 2/2     Go
主题 : 关于I2C驱动的问题 复制链接 | 浏览器收藏 | 打印
do right, be good!
级别: 新手上路
UID: 4397
精华: 0
发帖: 21
金钱: 210 两
威望: 210 点
综合积分: 42 分
注册时间: 2009-03-13
最后登录: 2009-07-09
10楼  发表于: 2009-03-23 13:10
Int fd, ret ;

Char VOUT_COMMAND[2] = {0x21,voltage} ;    voltage为电压值



Fd = open(“/dev/i2c/0”, O_RDWR);

If(fd == -1)

{

     Perror(“error open\n”);

     exit(-1);

}

Printf(“fd = %d\n”, fd);



Int addr = 0x50;         设备地址

     if( ioctl(fd, I2C_SLAVE, addr) < 0)

     {

          perror("set the slave addr error\n");

          exit(-1);

     }

     printf("the slave device addr is %d\n", addr);



     if(ioctl (fd, I2C_TIMEOUT, 1) < 0)

     {

          perror("set the time out error\n");

          exit(-1);

     }

     printf("time out back is set to 1\n");



     if(ioctl(fd, I2C_RETRIES, 1) < 0)

     {

          perror("set retries error!\n");

          exit(-1);

     }

     printf("retries back is set to 1\n");



     if(ioctl(fd, I2C_TENBIT, 0) < 0)

     {

          perror("set the addr bit error\n");

          exit(-1);

     }

     printf("the addr is seven bit\n");



     ret = write(fd, VOUT_COMMAND, 2);            写入电压值

printf("ret = %d\n", ret);

     if(ret != 2)

     {

          perror("write error\n");

          exit(-1);

     }    

     printf("write successfully!\n");



     //读取电压值

     ret = write(fd, &VOUT_COMMAND[0], 1);                写入要读取的地址

     ret = read(fd, &VOUT_COMMAND[1], 1);                 读取数据

     printf("the voltage read back data is %d\n", VOUT_COMMAND[1]);

这是我自己随便写的一段测试代码,没有很好的去封装
级别: 新手上路
UID: 1769
精华: 0
发帖: 12
金钱: 120 两
威望: 120 点
综合积分: 24 分
注册时间: 2008-09-26
最后登录: 2010-12-07
11楼  发表于: 2009-03-24 08:49
太好了,现在能无私分享自己代码的人不多,强烈建议大家支持arthur一下
级别: 新手上路
UID: 1769
精华: 0
发帖: 12
金钱: 120 两
威望: 120 点
综合积分: 24 分
注册时间: 2008-09-26
最后登录: 2010-12-07
12楼  发表于: 2009-03-25 16:28
to arthur, 我正在做linux下spi flash烧写程序,不知arthur大侠是否有涉及过,想请教下?
级别: 新手上路
UID: 1769
精华: 0
发帖: 12
金钱: 120 两
威望: 120 点
综合积分: 24 分
注册时间: 2008-09-26
最后登录: 2010-12-07
13楼  发表于: 2009-04-01 09:47
to arthur, 我现在也在做i2c spi相关的事情,能否留个qq,msn什么的,以后一起讨论?
do right, be good!
级别: 新手上路
UID: 4397
精华: 0
发帖: 21
金钱: 210 两
威望: 210 点
综合积分: 42 分
注册时间: 2009-03-13
最后登录: 2009-07-09
14楼  发表于: 2009-04-01 16:52
我的QQ:254692727
不过,最近这段时间没有办法登录QQ了。等以后把网络弄好了再聊QQ啊
级别: 新手上路
UID: 1769
精华: 0
发帖: 12
金钱: 120 两
威望: 120 点
综合积分: 24 分
注册时间: 2008-09-26
最后登录: 2010-12-07
15楼  发表于: 2009-04-02 11:31

 回 14楼(arthur) 的帖子

ok,我先加你,等你能上的时候再加下我,我的qq的名是bing
级别: 新手上路
UID: 2346
精华: 0
发帖: 38
金钱: 340 两
威望: 294 点
综合积分: 76 分
注册时间: 2008-11-12
最后登录: 2019-05-09
16楼  发表于: 2009-04-16 21:59
请教一下i2c 驱动是否可以实现 下位机上传数据的时候中断呢?
这个是主动读的,如果连接的i2c是master的呢?

i2c频率值如何设置?
  • «
  • 1
  • 2
  • »
  • Pages: 2/2     Go