3. プログラム
10 ! Example program for InesDAQ i403 (ELAND403)
20 ! DIO manual-input test program -------(2007.03.01)
30 ! By M.Tominaga & T.Ishida
40 !-----------------------------------------------------------
50 OPTION BASE 1
60 GINIT
70 CLEAR SCREEN
80 IF INMEM("Daqhtb_ioctl") THEN GOTO Skip_loadsub
90 LOADSUB ALL FROM "c:\inesdio\htbasic\daqhtb.csb"
100 Skip_loadsub: !
110 INTEGER D(2)! Data arrays, sizes must be 2,4,6,8,...
120 INTEGER Dummy ! dummy variable for initialization
130 INTEGER Hdio,Cdio! Device handle for DIO, Numbers of the samples
read
140 DIM A$[16] ! string of 16 character
150 PRINT "i403/D403 CALL Daqhtb_readi(Cdio,Hdio,D(*)) Test"
160 PRINT "------------------------------------------------"
170 Input_port:!
180 INPUT "Port A-E ? = ",Port$
190 Port$=UPC$(Port$)
200 IF Port$<"A" OR Port$>"E" THEN GOTO
Input_port
210 PRINT "Port is ";Port$;"."
220 !---------- initialization ------------------------------------------------------
230 CALL Daqhtb_ioctl(Dummy,"( fctn init) ")
240 !---------- open device ---------------------------------------------------------
250 CALL Daqhtb_open(Hdio,"i403 DIO "&Port$,0)
260 !---------- configure DIO device and start writing ------------------------------
270 CALL Daqhtb_ioctl(Hdio,"( iod ( bvdir 255 ) ) ")
280 Read_port:!
290 INPUT "Set Data & Cont(>=0 or Ent); End(<0)",P
300 IF P<0 THEN GOTO Fines
310 CALL Daqhtb_readi(Cdio,Hdio,D(*))
320 A$=IVAL$(D(1),2) !(5 Volt up)
330 B$=IVAL$(255-D(1),2) ! Complement of D(1)
340 PRINT USING "12A,3D,X,8A,2X,10A,3D,X,8A";"(5
Volt up) ",D(1),A$[9],"(Logical) ",255-D(1),B$[9]
350 GOTO Read_port
360 Fines:!
370 PRINT
380 PRINT "------------- Port "&Port$&" Test
-----> END -----------"
390 !----------- close device -------------------------------------------------------
400 CALL Daqhtb_close(Hdio)
410 DELSUB Daqhtb_ioctl TO END
420 END
430 ! |
|