372上位机的中断处理问题

我正在了解ch372上位机的中断处理,贵公司372evt/pub/demo下的中断服务程序让我迷惑, 为何在中断服务中没有见使用ch375readinter,iBuffer中的的数据是从哪读来的?另外PUCHAR是默认的指针类型吗?下面是该中断程序——

// 中断服务程序是由CH375驱动程序中断后通过DLL在应用层模拟调用的 VOID CALLBACK mInterruptEvent( // 中断服务程序 PUCHAR iBuffer ) // 指向一个缓冲区,提供当前的中断特征数据 { // iBuffer指向一个8个字节的缓冲区,该缓冲区中的内容是由单片机用CMD_WR_USB_DATA5命令写入CH375的数据 // CH375产生中断后,产生一个消息通知主程序 if ( iBuffer[0] == 1 ) // 检查中断特征数据 { mKeyCode = iBuffer[1] & 0x3f; // 返回的键值,则单片机存放在中断特征数据缓冲区的第2字节 PostMessage( mSaveDialogMain, WM_COMMAND, IDC_INT_PRESS, 0 ); // 中断特征数据1则键被按下 } else if ( iBuffer[0] == 2 ) PostMessage( mSaveDialogMain, WM_COMMAND, IDC_INT_RELEASE, 0 ); // 中断特征数据2则键被释放

// 如果使用中断特征数据,则根据该数据作相应的处理 /* switch( iBuffer[0] ) { case 1: 中断特征数据为1 case 2: 中断特征数据为2 ..... case 6: 中断特征数据为6 } */ }

上位机的中断实现:调用设置中断服务程序时,会创建一个线程,这个线程不停的读端点1的数据,如果读到数据的话,以读到的数据为参数,调用中断服务程序。


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