Thread RTS und DTR Steuern (3 answers)
Opened by Ispartali86 at 2006-10-27 17:19

Ispartali86
 2006-10-27 17:19
#71238 #71238
User since
2006-10-12
27 Artikel
BenutzerIn
[default_avatar]
Hallo,

wie kann ich denn eigentlich einzeln DTR und RTS steuern, d.h. ich habe 2 Leuschtdioden an COM Port gelötet,
(1. Diode -> DTR; 2. Diode -> RTS), und möchte z.b. das nur die erste Diode leuschtet.

Ich habe einen Script geschrieben aber bei meinen Script leuschten beide dioden, was ich ja nicht will.

Mein Code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/perl

# Serielle Schnittstelle zum lesen/schreiben oeffnen

$COM1 = "/dev/ttyS0";

if($COM1) {

open(FD, ">$COM1") || die "Konnte $COM1 nicht oeffnen!\n";

}

ioctl(FD, 0x5415, $ioctlinput);
print"I: $ioctlinput\n";

# ergebniss nach INT wandeln
$test = unpack("I", $ioctlinput);
print"t: $test\n";

# 0x100 = DSR (PIN 6, TIOCM_DSR) -- DATA SEND READY
# 0x080 = RING (PIN 9, TIOCM_RNG) -- RING (wird auf low(?) gesetzt wenn modem
# 0x040 = CAR (PIN 1, TIOCM_CAR) -- CARRIER (wenn leitung steht)
# 0x020 = CTS (PIN 8, TIOCM_CTS) -- CLEAR TO SEND
# 0x004 = RTS (PIN 7, TIOCM_RTS) -- REQUEST TO SEND *
# 0x002 = DTR (PIN 4, TIOCM_DTR) -- DATA TERMINAL READY *

my $i=0;
while ($i < 5000)
{
$i++;
print " DTR !!\n" if $test & 0x002;
# die schleife ist dazu da damit die diode länger leuschtet
};

exit(0);


Außerdem sieht mein Schaltkreis so http://img204.imageshack.us/img204/3788/dtrxz9.png

View full thread RTS und DTR Steuern