[急]关于USB设备的读写
用OpenByInterface打开设备,hdevice != INVALID_HANDLE_VALUE的值为真,
然后用
DWORD dwreturn;
if(WriteFile(hdevice,tx_buffer,TX_ByteCount,&dwreturn,NULL))
MessageBox("OK");
else
MessageBox("NO");
tx_buffer是BYTE型的数组,X_ByteCount是数组的长度,这时候会弹出OK,是不是就写成功呢?
如果设备收到我发送的请求数组并且数组里面的值是正确的,设备收到后会发回响应,也是BYTE型的数组,
DWORD rCount;
if(ReadFile(hdevice,receive_buffer,RX_ByteCount,&rCount,NULL))
MessageBox("OK");
else
MessageBox("NO");
也会弹出OK,但是,在接下来我用
CString str;
str.Format("%d",receive_buffer[2]);
MessageBox(str);
如果正确的话,receive_buffer[2]=0x11,也就是会显示17,但是我每次弹出的值都是204,为什么?我哪个地方出错了?
就是说收到的数据都不对。
tx_buffer数组使用前,我用
for(int i=0;i<TX_ByteCount;i++)
{
CString str;
str.Format("%d",tx_buffer[i]);
MessageBox(str);
验过,里面元素的值都是对的。
刚接触驱动,望大家帮忙。