helisha
驱动牛犊
驱动牛犊
  • 注册日期2003-05-17
  • 最后登录2003-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:917回复:2

请教各位高手!开发了一个PCI通信卡现在和应用程序通信时偶尔会掉数据,为何?

楼主#
更多 发布于:2003-05-17 22:54
应用程序往设备送数
void Test_WRITE_DATA(void)
{

DWORD bufInput[4];

bufInput[0]=0x55
bufInput[1]=0xbb;
bufInput[2]=0xcc;
bufInput[3]=0xdd;

DWORD bufOutput[15];
ULONG nOutput;        
printf(\"Writing to device - \");
printf(\"\\n\");
printf(\"\\n\");
if (!DeviceIoControl(hDevice,
WRITE_DATA,
bufInput,
20,
bufOutput,
20,
&nOutput,
NULL)
  )
{
printf(\"ERROR: DeviceIoControl returns %0x.\", GetLastError());
exit(1);
}
}
当设备收到所送的数后,则回送一些值给应用程序,但不是每次都回送数给应用程序,为什么?有谁能告诉我?
zh_zh_y
驱动牛犊
驱动牛犊
  • 注册日期2001-10-19
  • 最后登录2005-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-18 14:40
第一,你发送的数据定义为DWORD[4],但是你发送了20个字节下去;
第二,还有一点就是你的驱动程序的响应deviceIocontrol的分发例程是否会正确的响应,是否需要中断?这需要好好检查。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-05-18 20:46
are you salihe?
游客

返回顶部