| Autor |
Nachricht |
Snypoo
Unregistrierter
|
Snypoo Unregistrierter
11:48:00 04.02.2002 Titel: |
Schnittstellen - Seriell unter Win 2000 |
Zitieren |
Halo,
ich versuche dei Serielle Schnittstelle unter Win 2000 anzusprechen, die Befehle die ich damals unter DOS nutzen konnte kennt der Borland C++ Builder 5 nichtmehr (sind veraltet). Über welche Befehle kann ich diese Schnittstelle ansprechen (Einstellungen auslesen & änder, daten senden & empfangen).
Ich hoffe ihr könnt mir helfen.
[ Dieser Beitrag wurde am 19.02.2002 um 17:06 Uhr von Jansen editiert. ] |
|
|
|
 |
Werbeunterbrechung
|
|
 |
RockNix
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.03.2001
Beiträge: 930
|
RockNix Mitglied
12:03:00 04.02.2002 Titel: |
|
Zitieren |
Auf die Frage gibts auch langsam Rente [img]images/smiles/icon_wink.gif[/img]
Also gut - hier die Funktionen:
CreateFile(), ReadFile(), WriteFile(), WaitCommEvent(), Get/SetCommConfig() und und und ...
Ansonsten siehe MSDN, Suchfunktion und Signature
RockNix///
[ Dieser Beitrag wurde am 04.02.2002 um 11:07 Uhr von RockNix editiert. ] |
_________________ http://www.klangwerker.de
Now available:
Free Win32 Serial Communication Module
|
|
 |
KlausB
Moderator
Benutzerprofil
Anmeldungsdatum: 02.04.2001
Beiträge: 2337
|
KlausB Moderator
12:27:00 04.02.2002 Titel: |
|
Zitieren |
Hallo
auch unter SourceCode da ganz links oben gibt es etwas unter RS 232
Bitte schaut doch erstmal bevor ihr andere etwas nervt
Sorry wenn ich etwas genervt klinge
MfG
Klaus |
|
|
|
 |
Snypoo
Unregistrierter
|
Snypoo Unregistrierter
16:32:00 04.02.2002 Titel: |
|
Zitieren |
Hallo nochmals,
ich habe das mit dem Befehl CreateFile unter Win 2000 auprobiert, bekomm allerdings die Schnittstelle nicht geöffnet und kann deswegen keine Änderungen von z.B. der Baudrate vornehmen.
Woran kann das liegen?
Snypoo |
|
|
|
 |
junix
Moderator
Benutzerprofil
Anmeldungsdatum: 31.10.2001
Beiträge: 7628
|
junix Moderator
16:45:00 04.02.2002 Titel: |
|
Zitieren |
|
 |
roN
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.10.2001
Beiträge: 423
|
roN Mitglied
16:45:00 04.02.2002 Titel: |
|
Zitieren |
versuchs mal so:
| C++: | 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 | DCB dcbCommPort;
// open comm port
hComm = CreateFile("COM2",
GENERIC_READ | GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
0,
0);
// beenden wenn port nicht geöffnet werden kann
if(hComm == INVALID_HANDLE_VALUE) Application->Terminate();
// set comm timeouts
GetCommTimeouts(hComm,&ctmoOld);
ctmoNew.ReadTotalTimeoutConstant = 100;
ctmoNew.ReadTotalTimeoutMultiplier = 0;
ctmoNew.WriteTotalTimeoutMultiplier = 0;
ctmoNew.WriteTotalTimeoutConstant = 0;
SetCommTimeouts(hComm, &ctmoNew);
// settings
dcbCommPort.DCBlength = sizeof(DCB);
GetCommState(hComm, &dcbCommPort);
BuildCommDCB("9600,N,8,1", &dcbCommPort);
SetCommState(hComm, &dcbCommPort); | | |
_________________ =:= roN =:=
==> www.rideon.ch <==
|
|
 |
Snypoo
Unregistrierter
|
Snypoo Unregistrierter
17:04:00 04.02.2002 Titel: |
|
Zitieren |
Hallo roN,
wenn ich das ganze so versuche, wie Du es vorgeschlagen hast, kann immernoch nicht die Schnittstelle angesprochen werden.
Worann kann das Liegen?
Snypoo |
|
|
|
 |
junix
Moderator
Benutzerprofil
Anmeldungsdatum: 31.10.2001
Beiträge: 7628
|
junix Moderator
17:09:00 04.02.2002 Titel: |
|
Zitieren |
Gibts eine Fehlermeldung? Wie sprichst du denn die Schnittstelle an? Würdest du meine Fragen vielleicht auch mal beantworten?
-junix |
_________________ What do you think? Are you a coder or a programmer?
|
|
 |
roN
Mitglied
Benutzerprofil
Anmeldungsdatum: 23.10.2001
Beiträge: 423
|
roN Mitglied
17:14:00 04.02.2002 Titel: |
|
Zitieren |
junix hat recht, erzähl mal WAS nicht funktioniert. Fehlermeldungen usw. |
_________________ =:= roN =:=
==> www.rideon.ch <==
|
|
 |
Snypoo
Unregistrierter
|
Snypoo Unregistrierter
17:26:00 04.02.2002 Titel: |
|
Zitieren |
Ich Spreche die Schnittstelle mittels
hComm = CreateFile("COM1"
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
an, wie roN es auch Schon vorgeschlagen hat und bekomme dann schon direckt "INVALID_HANDLE_VALUE" wieder.
Durch "if(hComm == INVALID_HANDLE_VALUE) Application->Terminate();"
wird meine Anwendung sofort wieder geschlossen. Alle weiteren Befehle kann ich garnicht erst anwenden, da das Programm garnicht erst soweit Läuft.
Snypoo |
|
|
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum nicht antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|