|
谢谢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的时序给做好了?
|
|