wangjisheng
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2011-07-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:1590回复:9

(79分)求driverworks编写的DMA驱动,不要书上的例子

楼主#
更多 发布于:2003-08-26 08:54
谁有cy7c09449的用DS编写的DMA驱动,给我参考一下,一定给分
wangjisheng
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2011-07-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-26 09:25
我也是用ds作的,但是和武安和做得不太一样,我的没有IRP_MJ_READ等IRP,也没有serialRead等函数,也没有用startio()
所以我不知道应该在那里初始化dma,我只有deviceiocontrol
wangjisheng
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2011-07-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-26 14:35
flying:
好的,我试一试吧,你的有进展吗?
我还有一个小问题就是,我的应用程序用对话框编写的
我利用事件通知方法知道驱动程序有中断来了,我在应用程序中建立了线程
DWORD WINAPI ServiceThread(PVOID m_hEvent)
{
  while(TRUE) {
 
     WaitForSingleObject(m_hEvent,INFINITE);
     AfxMessageBox( \"接收到中断\", MB_OK );
    
    if(!DeviceIoControl(m_hDevice,PCIDP_IOCTL_CON,NULL,0,pci,sizeof(pci_cfg),&nOutput,NULL))
{
      MessageBox(\"控制错误\",\"警告\",MB_OK|MB_ICONHAND);
}

}
     return 0;
}
我就是想在线程中对数据进行读取,但是在线程中却不认识句柄m_hEvent,也不认识MessageBox()函数,只认识AfxMessageBox()
你是如何解决中断共享的,如何做的?
wangjisheng
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2011-07-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-28 18:54
我试试看,解释一下原因吧!
游客

返回顶部