3990|7

86

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请问2440 iic 控制LM75应设为什么模式? [复制链接]

我是从2440获得温度,是设为主控接收模式还是从属接收模式呢,我觉得应该是主控接收,你们说对吗?

最新回复

经过两天的努力,目前配合应用去做仍然有这种问题存在,还是不知道该如何读出温度的值,郁闷中....... Data Abort: Thread=8ffeba40 Proc=8db56160 'device.exe' AKY=00000005 PC=02db1998(i2c.dll+0x00001998) RA=02db17c8(i2c.dll+0x000017c8) BVA=0e02f2b4 FSR=00000005  详情 回复 发表于 2009-7-6 09:05
点赞 关注

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
主控接收
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢楼上的,能给提供一个 IIC的 例程吗?感觉还是无从下手呢,直接在应用IO_CONTROL 处理读函数,可是出错,DataAbort 操作,这是为什么呢?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
需要先了解 温度芯片 的用法;另外,介绍一下你的硬件和软件平台。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

5
 
以 S3C2440 + WinCE 5.0 举例吧:


有几种方法测试 IIC 接口:

1、直接在应用程序中,以【查询】方式读写 IIC 接口;

2、以流驱动的方式实现 IIC 接口驱动程序;

其中,第二种方法又分为【查询】和【中断】方式。

=======

另外,还要结合 LM75 芯片的用法,应用程序才能读取温度等信息。



楼主,可以先说说你做到哪一步了。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
谢谢zaodt,我目前的情况如下:
我加载了IIC驱动文件夹后已经可以从串口看到调试信息,并且中断已经使能了,
调试信息包括入口点,以及通过应用层调用IIC_IOCONTROL输出调试信息,我手里有LM75的资料,并且通过CreateFile可以加载IIC的驱动,不过无法读取温度信息。下面是我看到的调试信息,说明该驱动已经工作了只是配置硬件的部分不知道该如何做?
I2C Init
I2C InitRegs
IIC IRQ mapping: [IRQ:27->sysIRQ:37].
SYSINTR_IIC  OEMInterruptEnable
SYSINTR_IIC  OEMInterruptDone

问题1:对于端口的初始化寄存器,我是这么写的,   
     pI2C->pIOPReg->rGPECON &= ~(0x3<<28);
    pI2C->pIOPReg->rGPECON |= (0x2 << 28);               // GPE14:IICSCL

    pI2C->pIOPReg->rGPECON &= ~(0x3<<30);
    pI2C->pIOPReg->rGPECON |= (0x2 << 30);               //GPE15:IICSDA,


其他的寄存器我不清楚该配置什么值,这么配置对吗?
函数InitRegs中继续添加
    rIICADD  = 0x9e;                            //2440 slave address = [7:1]. this is avialable when 240 is slave.
    rIICSTAT = 0x10;                    //IIC bus data output enable(Rx/Tx)
    rIICLC = (1<<2)|(3);                  // Filter enable, 15 clocks SDA output delay     added into 2440   


问题2:应用层调用IIC_IOCONTROL中的IOCTL_I2C_READ 不能读取温度?
          dwErr = HW_Read(pI2C,
                                0x9E,
                            ((PI2C_IO_DESC)pBufIn)->WordAddr,
                             puc,
                            ((PI2C_IO_DESC)pBufIn)->Count);

问题3:我还需要配置什么别的地方吗,我感觉这个驱动已经把IIC的时序给做好了?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
LZ和我遇到问题是一样的看来,不过我是6410的,数据终止这个问题解决了,现在是时钟不对,读的出错率比较高。
当然你要设置为主机接收/发送模式了。
貌似你应用调用驱动写错了哈。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
经过两天的努力,目前配合应用去做仍然有这种问题存在,还是不知道该如何读出温度的值,郁闷中.......
Data Abort: Thread=8ffeba40 Proc=8db56160 'device.exe'
AKY=00000005 PC=02db1998(i2c.dll+0x00001998) RA=02db17c8(i2c.dll+0x000017c8) BVA=0e02f2b4 FSR=00000005
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表