C# C语言中的ReadFile()#
我想从外部芯片读取字节数据。我正在使用C# C语言中的ReadFile()#,c#,C#,我想从外部芯片读取字节数据。我正在使用Readfile()函数 GENERIC_READ = 0x80000000; uint GENERIC_WRITE = 0x40000000; FILE_SHARE_READ = 0x00000001; FILE_SHARE_WRITE = 0x00000003; FILE_FLAG_NO_BUFFERING = 0x20000000; ReadHandle, ReadHandle = CreateFile(Devicepath, GENERIC_R
Readfile()
函数
GENERIC_READ = 0x80000000;
uint GENERIC_WRITE = 0x40000000;
FILE_SHARE_READ = 0x00000001;
FILE_SHARE_WRITE = 0x00000003;
FILE_FLAG_NO_BUFFERING = 0x20000000;
ReadHandle, ReadHandle = CreateFile(Devicepath, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, FILE_FLAG_NO_BUFFERING);
所有这些常量都定义为公共常量。我从中获取输入报告长度
HidP_GetCaps. int myPtrToPreparsedData = -1;
int reportLength = myHIDP_CAPS.InputReportByteLength
当执行到这一行时,系统将挂起,并将继续执行
(ReadFile(ReadHandle, LBytes, IRBLength, ref BRead, 0))
ReadHandle
有效,它是来自createFile函数的+ve数字,并且LBytes=[256],IRBLength=256,ref-BRead=0
。有什么建议为什么它挂在这部分代码上。您能提供更多的代码吗?从创建ReadHandle的位置开始,直到挂起。另外,请复制,不要重新键入。好的,这是我获取ReadHandle的方法,编辑您的问题。不要试图在注释中发布代码。它是否阻塞?如果它是同步打开的,它将等待LBytes-可能不是微控制器xface想要的。好的,这里是我获取ReadHandle的方式,ReadHandle=CreateFile(Devicepath,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,0,OPEN_EXISTING,0,FILE_FLAG_NO_BUFFERING);通用_READ=0x8000000;uint GENERIC_WRITE=0x40000000;文件共享读取=0x00000001;文件共享写入=0x00000003;文件\u标志\u无\u缓冲=0x20000000;所有这些常量都定义为公共常量。我从HidP_GetCaps获取输入报告长度。int myPtrToPreparsedData=-1;int reportLength=myHIDP_CAPS.inputreport bytellength