User`s manual
Agilent E1330B Digital I/O Module Register Information 139
Appendix B
1020 OUTPUT @Sys;"DIAG:POKE "&VAL$(Base+(DVAL("10",16))) &",8,64"
!Drive RES0 to 0.
1030 OUTPUT @Sys;"DIAG:PEEK? "&VAL$(Base+(DVAL("10",16))) &",8"
!Read REG B+10H.
1040 ENTER @Sys;A
1050 Bit1=BIT(A,1)
1060 PRINT “RES0 DRIVEN TO 0, PIR0 RECEIVED AS ”;Bit1
1070 OUTPUT @Sys;"DIAG:POKE "&VAL$(Base+(DVAL("10",16))) &",8,96"
!Drive RES0 to 1.
1080 OUTPUT @Sys;"DIAG:PEEK? "&VAL$(Base+(DVAL("10",16))) &",8"
!Read REG B+10H.
1090 ENTER @Sys;A
1100 Bit1=BIT(A,1)
1110 PRINT “RES0 DRIVEN TO 1, PIR0 RECEIVED AS ”;Bit1
1120 SUBEND
1130 !
1140 SUB Res_pi_io
!Demonstrates driving RES0 then
receiving PI.
1150 !LATCHED PIR0.
1160 !Connect RES0 to PIR0.
1170 !Use register programming to use RES0 & PIR0.
1180 COM @Sys,@Dvm,@Dig
1190 PRINT “”
1200 PRINT “SUBPROGRAM Res_pi_io”
1210 OUTPUT @Dig;"*RST" !RESET to power on state.
1220 Ladd=80
1230 !Base=Start of A16+Offset to VXI Reg+Offset to card Reg.
1240 Base=2031616+49152+(Ladd*64)
1270 OUTPUT @Sys;"DIAG:POKE "&VAL$(Base+(DVAL("08',16))) &",8,131"
!Set PIEN=1.
1280 OUTPUT @Sys;"DIAG:POKE "&VAL$(Base+(DVAL("0C",16))) &",8,128"
!Set PI=1.
1290 OUTPUT @Sys;"DIAG:POKE "&VAL$(Base+(DVAL("10",16))) &",8,64"
!Drive RES0 to 0.
1300 OUTPUT @Sys;"DIAG;PEEK? "&VAL$(Base+(DVAL("10",16))) &",8"
!Read REG B+10H.
1310 ENTER @Sys;A
1320 Bit1=BIT(A,1)
1330 PRINT “RES0 DRIVEN TO 0, PIR0 RECEIVED AS ”;Bit1
1340 OUTPUT @Sys;"DIAG:PEEK? "&VAL$(Base+(DVAL("0C",16))) &",8"
!Read PI.
1350 ENTER @Sys;A
1360 Bit7=BIT(A,7)
1370 PRINT “PERIPHERAL INTERRUPT = ”;Bit7
1380 OUTPUT @Sys;"DIAG:POKE "@VAL$(Base+(DVAL("10",16))) &",8,96"
!Drive RES0 to 1.
1390 OUTPUT @Sys;"DIAG:PEEK? "&VAL$(Base+(DVAL("10",16))) &",8"
!Read REG B+10H.
1400 ENTER @Sys;A
1410 Bit1=BIT(A,1)
1420 PRINT “RES0 DRIVEN TO 1, PIR0 RECEIVED AS ”;Bit1
1430 OUTPUT @Sys;"DIAG:PEEK? "&VAL$(Base+(DVAL("0C",16))) &",8"
!Read PI.
1440 ENTER @Sys;A
1450 Bit7=BIT(A,7)
1460 PRINT “PERIPHERAL INTERRUPT = ”;BIT7
1470 SUBEND