阅读:1042回复:4
麻烦做过9052的兄弟帮个忙
是有关中断的寄存器的问题。INTCSR的偏移地址为0x4c,是不是我都这个寄存器的时候,地址直接为4c就可以了?就好像我用out指令读吧,是不是这样:IoPortRange.outw(0x4c,0x12)就可以对INTCSR进行写?谢谢
|
|
最新喜欢:mapofl
|
沙发#
发布于:2003-09-25 14:31
应是这样。
我是用内存映射访问9052 LOCAL REGISTER,偏移地址为0x50,让9052产后复位信号,如下: 先在::OnStartDevice(KIrp I)初始化: status = m_MemRange0.Initialize( pResListTranslated, pResListRaw, PciConfig.BaseAddressIndexToOrdinal(0) ); if (!NT_SUCCESS(status)) { Invalidate(); return status; } 然后在需要处: ULONG dwPCI9052Control = m_MemRange0.ind(0x50); dwPCI9052Control |= 0x40000000; m_MemRange0.outd(0x50,dwPCI9052Control); dwPCI9052Control &= 0xbfffffff; m_MemRange0.outd(0x50,dwPCI9052Control); 是没有问题的,I/O没试过,如成功了告诉我一声,谢谢! :P |
|
板凳#
发布于:2003-09-25 14:52
兄弟可否说下为什么要这样做呢?还有可否说下这段代码是什么意思:ULONG dwPCI9052Control = m_MemRange0.ind(0x50);
dwPCI9052Control |= 0x40000000; m_MemRange0.outd(0x50,dwPCI9052Control); dwPCI9052Control &= 0xbfffffff; m_MemRange0.outd(0x50,dwPCI9052Control); 谢了 |
|
|
地板#
发布于:2003-09-25 18:04
这是一个例子,让PCI9052的复位BIT置1(Serial EEPROM Control, PCI Slave Response, User I/O Control, Init Control寄存器,在Local Configuration Registers 的偏移地址为0X50),让PCI9052产生复位信号,然后再恢复该位为0;
|
|
地下室#
发布于:2003-09-25 18:29
zzhmmx兄,送了信息给您,不知您可不可以答应我的要求呢?不胜感激
|
|
|