CreateFile调用 IIC驱动问题
再EVC下用CreateFile()打开IIC设备成功返回句柄,用返回的句柄调用WriteFile(),WriteFile的返回值wRetSize为0;GetLastError返回的也为0
代码如下:
hT2C = CreateFile(TEXT("I2C1:"),
GENERIC_READ|GENERIC_WRITE,
0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
if (hT2C == INVALID_HANDLE_VALUE)
{
if (GetLastError() == ERROR_DEV_NOT_EXIST)
{
// register I2C device driver
hDriver = RegisterDevice(TEXT("I2C"), 1, TEXT("I2C.DLL"), 0);
if (!hDriver)
{
RETAILMSG(1, (TEXT("Failed to register I2C device driver.\r\n")));
}
hT2C = CreateFile(TEXT("I2C1:"),
GENERIC_READ|GENERIC_WRITE,
0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
}
if (hT2C == INVALID_HANDLE_VALUE)
{
dwErrorCode = GetLastError();
return dwErrorCode ;
}
}
WriteFile ( hT2C, BUFFER, writesize, &wRetSize, NULL);
//判断存储是否成功
if (!wRetSize)
{
dwErrorCode = GetLastError();
CloseHandle( hT2C );
return 1;
}