中断命令的应用

各位大虾: 我是用MFC(C++)做365的I/O口读写的应用程序的,现在由于引用层中断次数的限制,需要提高速率,想通过添加中断命令来实现。 我的中断服务程序是:mPCH365_INT_ROUTINE CALLBACK CDatePassDlg::IntRoutine() //中断响应程序,处理单个帧 { //BYTE*ReceiveBuff; ReceiveBuff=new BYTE[64]; memset(ReceiveBuff,0,64); int add=0; int num=0; for(int m=0;(m<64)&&(add!=3);) { /* if(!CH365WriteIoByte(&mBaseAddr->mCh365IoPort[0x00],0X00)) { MessageBox("写A0地址失败!","提示信息",MB_ICONSTOP|MB_OK); break; } */ if(!CH365ReadIoByte(&mBaseAddr->mCh365IoPort[0x01],&ReceiveBuff[num])) { MessageBox("读数据失败!","提示信息",MB_ICONSTOP|MB_OK); break; } num++; CH365DelayUS(10); if(ReceiveBuff[m]==0x55) { add++; } else { add=0; } CString str; str.Format("0x%x ",ReceiveBuff[m]); m_Receive+=str; m++; }

//m_Receive=ReceiveBuff; UpdateData(FALSE); delete[]ReceiveBuff; return 0; } 希望通过中断命令实现数据处理,但是资料上说: /***中断命令设定,CH365的WDM驱动程序中支持两条中断预处理命令 /**通过使用CH365mWriteIntCommand( // 写入中断命令缓冲区 **/ /** ULONG iIndex, // 指定CH365设备序号 **/ /** mPWIN32_COMMAND iCommand, // 指向作为中断命令的命令结构 **/ /** ULONG iCmdIndex ) // 中断命令序号,为1或者2 **/ 只能执行两条指令是啥子意思? 我的程序字怎么变成改写成指令?

.. ULONG iCmdIndex ) // 中断命令序号,为1或者2 **/ 上面的iCmdIndex是中断命令缓冲区序号.CH365驱动有两个中断命令缓冲区.要执行的命令码存放在mPWIN32_COMMAND 结构中,命令码不止两种.


您的函数类型使用不正确。


只有登录才能回复,可以选择微信账号登录