主题 : wince s5pv210 iic 读数据报错 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 72688
精华: 0
发帖: 35
金钱: 175 两
威望: 35 点
贡献值: 0 点
综合积分: 70 分
注册时间: 2012-06-26
最后登录: 2017-03-03
楼主  发表于: 2013-06-05 14:42

 wince s5pv210 iic 读数据报错

在读iic时经常会报如下错误
Exception 'Data Abort' (4): Thread-Id=0909001a(pth=8c61a834), Proc-Id=00400002(pprc=824f9308) 'NK.EXE', VM-active=0567014e(pprc=8ccaaedc) 'edm.exe'
PC=c0bc75a0(i2c.dll+0x000075a0) RA=c0bc7370(i2c.dll+0x00007370) SP=d4fefe48, BVA=0002fc77
I2CBusDriver: Exception caught ExceptionCode:0xC0000005, flags:0x00000000, Code Address 0xC0BC75A0
        Exception: EXCEPTION_ACCESS_VIOLATION
        Write Access Exceptioned at VAddress : 0x0002FC77
[31mEXCEPTION IS INVOKED(HW 2 Channel)
[0m[31mFifo Index : 4
[0m[31mbRequestComplete : 0
[0m[31mCurrnet Tx Count : 0
[0m[31mCurrnet Rx Count : 3
[0m[31mCurrent Service Obj : 0xD53B1C40
[0m[31mTx Data Addr & size : 0x0 0
[0m[31mRx Data Addr & size : 0x2FC74 14
[0m
[I2C:I] IICCON : 0xFB 0xEB
[I2C:I] IICSTAT : 0xB0 0xB0
[I2C:I] IICLC : 0x4 0x0
[I2C:I] IICDS : 0x68 0xA1

求大虾指点迷津

读的函数如下:
BYTE read_buffer[14]={0};
BYTE offset=0;
I2C_READ_DESC i2creaddesc;

//step1:set offset
i2creaddesc.IN_bStop=1;    
i2creaddesc.IN_dwData=1;
i2creaddesc.IO_pbtData=&offset;
DeviceIoControl(hfile,IOCTL_I2C_GENERAL_WRITE,&i2creaddesc,sizeof(i2creaddesc),NULL,0,NULL,0);

//step2:read data
i2creaddesc.IN_bStop=1;
i2creaddesc.IN_dwData=14;
i2creaddesc.IO_pbtData=read_buffer;
DeviceIoControl(hfile,IOCTL_I2C_GENERAL_READ,&i2creaddesc,sizeof(i2creaddesc),NULL,0,NULL,0);