Com Port mit PC ansteuern

Software für PC wie Open Office, Antvirenprogramme, Firewalls usw. Programmiersprachen wie Visual Basic, Pascal, C++.

Software für PC wie Open Office, Antvirenprogramme, Firewalls usw. Programmiersprachen wie Visual Basic, Pascal, C++.

Moderator: Moderatorengruppe

Neuer Beitragvon derguteweka am Montag 16. April 2007, 20:34

Moin,

Master-Jimmy hat geschrieben:@derguteweka: Du weisst nicht zufällig mit welchem String/Zeichen man dem COM1 beibringt "break" zu senden?-Oder geht das ganz anders?


Das geht ganz anders, z.b. aehnlich wie die ollen Makros fuer die Handshakeleitungen. Ist jetzt nicht getestet - vielleicht so in der Art:
Code: Alles auswählen
#define IR_BREAK                           \
{                                           \
    outportb(COMn+3,inportb(COMn+3) | 0x40);\
}                                           

#define IR_NO_BREAK                           \
{                                           \
    outportb(COMn+3,inportb(COMn+3) & ~0x40);\
}


Master-Jimmy hat geschrieben:Nichts senden(break) --> +12V auf TxD
NUL(ASCII: 0x00) senden --> -12V auf TxD
Richtig?

Nein, Break ist was anderes als mal Bytes mit 0x00 senden. Wenn du 0x00 sendest, kommt ein Startbit, 8 Nullbits und 1-2 Stopbits. Danach ist TxD wieder auf -12V; wie schnell das alles abgeht, wird durch den Wert im Divider-Register bestimmt.
Wenn du Break sendest, dann dauert das ewig - oder solange, bis du das entsprechende Bit im Register 3 wieder loeschst. Es werden auch keine Start- oder Stopbits gesendet.
Pegel dabei an der Sub-D Buchse: Kein Break: -12V; Break: +12V

Master-Jimmy hat geschrieben:P.S.: Was machst du dich lustig über meinen Versuch mit Assembler? :wink:
Oder gehörst du auch zu denen die sich täglich die Köpfe einschlagen, weill sie alle glauben "ihre" Sprache sei die beste...???

OOps, da kam was falsch rueber. Hab' mich nicht lustig ueber Assembler gemacht. Das ist immerhin die 2. Programmiersprache, die ich gelernt hab' (Nach BASIC :) ) - ohne Assembler war nicht viel los auf 'nem ZX81. Die Sprache muss zum Problem passen, ich glaub' da sind wir uns einig - nachdem sogar auch Bjarne Stoustrup das so sieht, koennt' da wohl tatsaechlich auch was dran sein...

Gruss
WK
derguteweka
26103
Moderator
 
Beiträge: 1048
Registriert: Freitag 18. August 2006, 15:47

Neuer Beitragvon Master-Jimmy am Dienstag 17. April 2007, 14:50

So, hab's jetzt mal "in der Realität" ausgetestet(LED an TxD an/aus). Funktioniert eigentlich gut mit dem Code den ich gepostet hab. Man muss halt 0x00 mehr oder weniger endlos senden um +12V zu erhalten.
Das Problem mit den Stop- und Startbits besteht aber schon, das ist mir klar.-Könnte man aber mit Diode und Kondensator hardwaremässig relativ einfach korrigieren.

Trotzdem passt es mir nicht.-Ich hab nicht das erreicht was ich wollte, also schau ich noch wie ich das mit der Break-Anweisung hinbekomme.

[
BASIC(ich meine vorallem VB) kann ich eben nicht wirklich :cry: , was mich schon hie und da nervt, weil halt fast alle die nicht beruflich mit Elektronik zutun haben vorallem auf diese Sprache setzen und ich dann deren Code nicht kopieren kann. Wie man den COM1 in VB steuert würde z. B. auf vielen Seiten gezeigt...(Wobei ich mich partout weigere irgendwelche Zusatz-DLLs wie PORT.DLL zu verwenden. Ist zwar eigentlich völlig bekloppt, aber so ist es nun mal! :) )
]
Benutzeravatar
Master-Jimmy
26113
Titanium Mitlgied
 
Beiträge: 401
Registriert: Mittwoch 11. April 2007, 10:21
Postleitzahl: 00000
Land: not selected

Neuer Beitragvon Master-Jimmy am Mittwoch 18. April 2007, 08:34

Version 2.0 von portmanage.h ist nun fertig!

Dieser Header bietet eigentlich jedem der weiss wie das "Hallo-Welt!-Programm" funktioniert, die Möglichkeit die beiden Hanshakeleitungen(DTR und RTS), sowie auch die beiden Datenleitungen(TD und RD) zu kontrollieren.

Auch das mit der "Break" hat jetzt geklappt... :lol:

(Der Header ist sicher nicht perfekt oder so. Zum Beispiel kümmere ich mich darin "einen Dreck" darum, ob die Funktionen fehlerfrei ausgeführt wurden.-Wer also was verbessern will, kann das gerne tun!)
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
Master-Jimmy
26126
Titanium Mitlgied
 
Beiträge: 401
Registriert: Mittwoch 11. April 2007, 10:21
Postleitzahl: 00000
Land: not selected

Vorherige

Zurück zu Computer Software

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 18 Gäste