
PIO-D144 User’s Manual
Version: 2.1 Date: 1999/10 Page 23
3.1.2 PIO_GetConfigAddressSpace
PIO_GetConfigAddressSpace(wBoardNo,*wBase,*wIrq, *wSubVendor,
*wSubDevice, *wSubAux,*wSlotBus,*wSlotDevice)
•
wBoardNo=0 to N
!
totally N+1 boards found by PIO_DriveInit(...)
•
wBase
!
base address of the board control word
•
wIrq
!
allocated IRQ channel number of this board
•
wSubVendor
!
subVendor ID of this board
•
wSubDevice
!
subDevice ID of this board
•
wSubAux
!
subAux ID of this board
•
wSlotBus
!
hardware slot ID1 of this board
•
wSlotDevice
!
hardware slot ID2 of this board
The user can use this function to save resource of all PIO/PISO cards installed in
this system. Then the application program can control all functions of PIO/PISO
series card directly.
Find the configure address space of PIO_D144
/* Step1: Detect all PIO-D144 cards first */
wSubVendor=0x80; wSubDevice=0x01; wSubAux=0x00;
/* for PIO-D144 */
wRetVal=PIO_DriverInit(&wBoards, wSubVendor,wSubDevice,wSubAux);
printf("Threr are %d PIO-D144 Cards in this PC\n",wBoards);
/* Step2: Save resource of all PIO-D144 cards installed in this PC */
for (i=0; i<wBoards; i++)
{
PIO_GetConfigAddressSpace(i,&wBase,&wIrq,&t1,&t2,&t3,&t4,&t5);
printf("\nCard_%d: wBase=%x, wIrq=%x", i,wBase,wIrq);
wConfigSpace[i][0]=wBaseAddress;
/* save all resource of this card */
wConfigSpace[i][1]=wIrq;
/* save all resource of this card */
}
/* Step3: Control the PIO-D144 directly */
wBase=wConfigSpace[0][0]; /* get base address the card_0 */
outp(wBase,1); /* enable all D/I/O operation of card_0 */
wBase=wConfigSpace[1][0]; /* get base address the card_1 */
outp(wBase,1); /* enable all D/I/O operation of card_1 */
ГК
Атлант
Инжиниринг
–
официальный
представитель
в
РФ
и
СНГ
+7(495)109-02-08 [email protected] www.bbrc.ru