serielle Schnittstellen aus pascal bedienen

15/03/2010 - 13:18 von tritigr | Report spam
Hallo zusammen,

ich moechte meine Messgeraete ueber eine serielle Schnittstelle der
Vaxstation auslesen. Inzwischen weiss ich ja, dass die die Namen TTA0:
bis TTA3: tragen. Nun hatte ich gehofft, dass man diese aehnlich wie
in DOS einfach als Datei oeffnen kann. Leider scheinen die
Doppelpunkte VMS oder den Pascal-Compiler zu verwirren, so dass das
Programm mit einer Fehlermeldung (Datei nicht gefunden) beendet wird:


VAR serial: TEXT;
...
writeln ('Test serial comm.');
open (serial, 'TTA1:');
writeLn (serial, 'Dies ist ein Test');
close (serial);

Weiss jemand wie es richtig geht?

Til
 

Lesen sie die antworten

#1 gartmann
15/03/2010 - 13:53 | Warnen spam
In article , tritigr writes:
Hallo zusammen,

ich moechte meine Messgeraete ueber eine serielle Schnittstelle der
Vaxstation auslesen. Inzwischen weiss ich ja, dass die die Namen TTA0:
bis TTA3: tragen. Nun hatte ich gehofft, dass man diese aehnlich wie
in DOS einfach als Datei oeffnen kann. Leider scheinen die
Doppelpunkte VMS oder den Pascal-Compiler zu verwirren, so dass das
Programm mit einer Fehlermeldung (Datei nicht gefunden) beendet wird:


VAR serial: TEXT;

writeln ('Test serial comm.');
open (serial, 'TTA1:');
writeLn (serial, 'Dies ist ein Test');
close (serial);

Weiss jemand wie es richtig geht?



Here are a few snippets of some code I wrote a long time ago...


[INHERIT('sys$library:starlet.pen')]
CONST
c_readfunc = io$_readvblk + io$m_timed + io$m_noecho + io$m_nofiltr;
c_time2 = 2; {* timeout for up-/download *}

VAR
term : INTEGER;
ret_code : UNSIGNED;
device, message, error : VARYING[255] OF CHAR;
channel : [WORD] 0..65535;

iosb : RECORD
stat, anz : WORD] 0..65535;
dev_info : INTEGER;
END;


ret_code := $alloc( device );
IF ret_code <> ss$_normal THEN error := 'Error allocating ' + device
ELSE BEGIN
ret_code := $assign( device, channel,, );
IF NOT odd( ret_code ) THEN
error := 'Error assigning channel to ' + device;
END;

ret_code := $qiow( , channel, c_readfunc, iosb,,, message.body,
message.size, c_time2, term );


Regards,
Christoph Gartmann


Max-Planck-Institut fuer Phone : +49-761-5108-464 Fax: -80464
Immunbiologie
Postfach 1169 Internet: dot mpg dot de
D-79011 Freiburg, Germany
http://www.immunbio.mpg.de/home/menue.html

Ähnliche fragen