| 
					阅读:1105回复:11
				 看看我的代码?才2100Hz,每次就读One Byte,都响应不过来.
					但是我的中断服务程序总是响应不过来,看看我的代码:
 BOOL XXX::OnSharedHardwareInt(VMHANDLE hCM) { byte300h = _inp(0x300);//用于判断是否是自己的中断. if(0x00 == (byte300h & 0x01)) //自己的中断 { byte301h = _inp(0x301); //读数据 ++counter; //调试 if(counter >= 60) { counter = 0; } dprintf(\"\\ncounter=%d val=%d\",counter,byte301h); } sendPhysicalEOI(); return FALSE; } 老大,我错在哪里了? 2100Hz,每次一字节,卡上64字节缓冲,出现响应不过来的问题. | |
| 
 | 
| 沙发#发布于:2003-08-13 13:32 
					if(NOT_your_INT)
 { return FALSE; } ... return TRUE; | |
| 板凳#发布于:2003-08-13 13:39 
					你是说不是自己的,必须马上返回FALSE?
 是自己的一定要返回TRUE吗? 传下去不行? | |
| 
 | 
| 地板#发布于:2003-08-13 13:41 
					不是自己的马上返回FALSE,还有别的ISR等着处理。
 你可以全返回FASLE:D,应该就是没有人管这个中断了。 不过你的不是ISA的吗?应该独占中断呀。 | |
| 地下室#发布于:2003-08-13 13:44 
					我测过IRQ3线,系统有很多别的中断,独占方式不行,初始化出错.				 | |
| 
 | 
| 5楼#发布于:2003-08-13 13:46 
					再问一下:
 我共享APP的数组,用事件方式通知APP的接收线程来取,乒乓方式操作缓冲区.有人说这种还不是最快的,是吗? | |
| 
 | 
| 6楼#发布于:2003-08-13 13:50 
					what\'s “乒乓方式”?				 | |
| 7楼#发布于:2003-08-13 13:52 
					把共享缓冲区分成两半,驱动写满一半,就通知APP,自己再写另一半.
 | |
| 
 | 
| 8楼#发布于:2003-08-13 13:55 
					你就那么些数据,这样也够了呀。				 | |
| 9楼#发布于:2003-08-13 13:56 
					谢谢,我去试试,有问题再来.				 | |
| 
 | 
| 10楼#发布于:2003-08-13 13:59 
					累死了,qq聊吧,我开一下午先。				 | |
| 11楼#发布于:2003-08-13 16:10 
					ISA的中断,频率最高能到多少,哪位有经验的大虾说一下!				 | |
| 
 | 
 
							
 
				 
				
