Seite 1 von 1

Frage zu CallFunktion

Verfasst: 08.11.2011 09:27
von exit
Hallo,

ich möchte nach dem erfolgreichen Öffnen der COM-Schnittstelle die Baudrate abfragen.

Return_opencom = CallFunction(0, "Open_ComPort",3, 57600)
gibt 0 zurück = Funktionsaufruf war erfolgreich.

returnBaudrate = CallFunction(0, "GetCurrent_Baudrate",baudrate.l)
gibt 1 zrück = Ein Parameter enthielt einen ungültigen Wert

Hier ist die Beschreibung zu der Funktion.
GetCurrent_Baudrate
long GetCurrent_Baudrate (long * baudrate)

Liefert die eingestellte Baudrate der aktuellen Verbindung zurück.

Die Funktion liefert nach Aufruf von Open_ComPort oder Open_EthernetPort die tatsächlich
eingestellte Baudrate zurück. Welche Baudrate beim Verbindungsaufbau eingestellt wird,
hängt von den Fähigkeiten des Geräts, der verwendeten Programmierkabel, der Ver-
bindungsart und ggf . von den Fähigkeiten von zwischengeschalteten Umsetzern ab.
Nach Aufruf von Open_EthernetPort ohne Baudratentest ist der Rückgabewert der Funktion
undefiniert.

Parameter:
baudrate
Zeiger auf eine Variable zur Ablage der aktuellen Baudrate { 4800, 9600, 19200, 38400, 57600 }

Rückgabewerte:
0 Funktionsaufruf war erfolgreich.
1 Ein Parameter enthielt einen ungültigen Wert.
7 Es ist keine Verbindung offen.


Was mache ich falsch?

Re: Frage zu CallFunktion

Verfasst: 08.11.2011 09:43
von ts-soft
Es wird ein Pointer zur Baudrate variable erwartet.

Code: Alles auswählen

Define Baudrate.l
returnBaudrate = CallFunction(0,  "GetCurrent_Baudrate", @Baudrate)
Ausserdem wäre es besser Prototypes anstatt CallFunction zu verwenden.

Gruß
Thomas

Re: Frage zu CallFunktion

Verfasst: 08.11.2011 09:48
von exit
Perfekt!

Nun funktioniert es, vielen Dank.