set_serial_paramT_set_serial_paramSetSerialParamSetSerialParam (Operator)

Name

set_serial_paramT_set_serial_paramSetSerialParamSetSerialParam — Setzen der Parameter eines seriellen Gerätes.

Signatur

set_serial_param( : : SerialHandle, BaudRate, DataBits, FlowControl, Parity, StopBits, TotalTimeOut, InterCharTimeOut : )

Herror T_set_serial_param(const Htuple SerialHandle, const Htuple BaudRate, const Htuple DataBits, const Htuple FlowControl, const Htuple Parity, const Htuple StopBits, const Htuple TotalTimeOut, const Htuple InterCharTimeOut)

void SetSerialParam(const HTuple& SerialHandle, const HTuple& BaudRate, const HTuple& DataBits, const HTuple& FlowControl, const HTuple& Parity, const HTuple& StopBits, const HTuple& TotalTimeOut, const HTuple& InterCharTimeOut)

void HSerial::SetSerialParam(const HTuple& BaudRate, const HTuple& DataBits, const HString& FlowControl, const HString& Parity, const HTuple& StopBits, const HTuple& TotalTimeOut, const HTuple& InterCharTimeOut) const

void HSerial::SetSerialParam(Hlong BaudRate, Hlong DataBits, const HString& FlowControl, const HString& Parity, Hlong StopBits, Hlong TotalTimeOut, Hlong InterCharTimeOut) const

void HSerial::SetSerialParam(Hlong BaudRate, Hlong DataBits, const char* FlowControl, const char* Parity, Hlong StopBits, Hlong TotalTimeOut, Hlong InterCharTimeOut) const

void HSerial::SetSerialParam(Hlong BaudRate, Hlong DataBits, const wchar_t* FlowControl, const wchar_t* Parity, Hlong StopBits, Hlong TotalTimeOut, Hlong InterCharTimeOut) const   (Nur Windows)

static void HOperatorSet.SetSerialParam(HTuple serialHandle, HTuple baudRate, HTuple dataBits, HTuple flowControl, HTuple parity, HTuple stopBits, HTuple totalTimeOut, HTuple interCharTimeOut)

void HSerial.SetSerialParam(HTuple baudRate, HTuple dataBits, string flowControl, string parity, HTuple stopBits, HTuple totalTimeOut, HTuple interCharTimeOut)

void HSerial.SetSerialParam(int baudRate, int dataBits, string flowControl, string parity, int stopBits, int totalTimeOut, int interCharTimeOut)

Beschreibung

Mit set_serial_paramset_serial_paramSetSerialParamSetSerialParamSetSerialParam können die Parameter eines seriellen Gerätes gesetzt werden. Der Parameter BaudRateBaudRateBaudRateBaudRatebaudRate gibt die Ein- und Ausgabegeschwindigkeit des Gerätes an. Es ist zu beachten, dass nicht jedes Gerät alle Geschwindigkeiten unterstützt. Die Anzahl der übertragenen Datenbits wird mit DataBitsDataBitsDataBitsDataBitsdataBits festgelegt. Der Parameter FlowControlFlowControlFlowControlFlowControlflowControl legt fest, ob und welche Art von Datenflusskontrolle verwendet werden. Software-Kontrolle ('xon_xoff'"xon_xoff""xon_xoff""xon_xoff""xon_xoff") und Hardware-Kontrolle ('cts_rts'"cts_rts""cts_rts""cts_rts""cts_rts", 'dtr_dsr'"dtr_dsr""dtr_dsr""dtr_dsr""dtr_dsr" können gewählt werden. Mehrere Werte können hierfür innerhalb einer Zeichenkette gesetzt werden, durch Leerzeichen getrennt (z.B. 'cts_rts dtr_dsr'"cts_rts dtr_dsr""cts_rts dtr_dsr""cts_rts dtr_dsr""cts_rts dtr_dsr"). Ob und welche Art von Paritätskontrolle der übertragenen Daten verwendet wird, lässt sich mit ParityParityParityParityparity festlegen. Die Anzahl der übertragenen Stop-Bits kann mit StopBitsStopBitsStopBitsStopBitsstopBits gesetzt werden. Schließlich können noch zwei Timeouts für das Lesen von dem seriellen Gerät gesetzt werden. Der Parameter TotalTimeOutTotalTimeOutTotalTimeOutTotalTimeOuttotalTimeOut bezieht sich auf die Zeit, die bei read_serialread_serialReadSerialReadSerialReadSerial bis zum Eintreffen des ersten Zeichens, unabhängig von der Anzahl der insgesamt zu lesenden Zeichen, höchstens vergehen darf. Der Parameter InterCharTimeOutInterCharTimeOutInterCharTimeOutInterCharTimeOutinterCharTimeOut gibt die Zeit an, die zwischen dem Lesen einzelner Zeichen verstreichen darf, falls mehrer Zeichen mit read_serialread_serialReadSerialReadSerialReadSerial gelesen werden sollen. Falls einer der beiden Timeouts auf -1 gesetzt wird, so wird beliebig lange auf das Eintreffen eines Zeichens gewartet. Werden beide Timeouts auf 0 gesetzt, wartet das System nicht, sondern liest die vorhandenen oder keine Zeichen. Auf Windows-Systemen ergibt sich so ein maximaler Timout von TotalTimeOutTotalTimeOutTotalTimeOutTotalTimeOuttotalTimeOut + n InterCharTimeOutInterCharTimeOutInterCharTimeOutInterCharTimeOutinterCharTimeOut, wenn n Zeichen gelesen werden sollen. Auf unixartigen Systemen kann systembedingt nur einer der beiden Timeouts gesetzt werden. Wenn beide Timeouts größer als -1 übergeben werden, wird nur der Total-Timeout beachtet. Die Einheit der beiden Timeouts ist Millisekunden. Es ist jedoch zu beachten, dass der Timeout unter unixartigen Systemen nur in Zehntelsekundenschritten spezifizieren lässt, d.h. der minimale wirksame Timeout ist 100. Für jeden dieser Parameter kann die aktuelle Einstellung beibehalten werden, indem 'unchanged'"unchanged""unchanged""unchanged""unchanged" übergeben wird.

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

SerialHandleSerialHandleSerialHandleSerialHandleserialHandle (input_control, Zustand wird modifiziert)  serial HSerial, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle der seriellen Schnittstelle.

BaudRateBaudRateBaudRateBaudRatebaudRate (input_control)  integer HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Übertragungsgeschwindigkeit der seriellen Schnittstelle.

Defaultwert: 'unchanged' "unchanged" "unchanged" "unchanged" "unchanged"

Werteliste: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 76800, 115200, 153600, 230400, 307200, 460800, 'unchanged'"unchanged""unchanged""unchanged""unchanged"

DataBitsDataBitsDataBitsDataBitsdataBits (input_control)  integer HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Anzahl Datenbits der seriellen Schnittstelle.

Defaultwert: 'unchanged' "unchanged" "unchanged" "unchanged" "unchanged"

Werteliste: 5, 6, 7, 8, 'unchanged'"unchanged""unchanged""unchanged""unchanged"

FlowControlFlowControlFlowControlFlowControlflowControl (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Datenflusskontrolle der seriellen Schnittstelle.

Defaultwert: 'unchanged' "unchanged" "unchanged" "unchanged" "unchanged"

Werteliste: 'cts_rts dtr_dsr xon_xoff'"cts_rts dtr_dsr xon_xoff""cts_rts dtr_dsr xon_xoff""cts_rts dtr_dsr xon_xoff""cts_rts dtr_dsr xon_xoff", 'cts_rts dtr_dsr'"cts_rts dtr_dsr""cts_rts dtr_dsr""cts_rts dtr_dsr""cts_rts dtr_dsr", 'cts_rts xon_xoff'"cts_rts xon_xoff""cts_rts xon_xoff""cts_rts xon_xoff""cts_rts xon_xoff", 'cts_rts'"cts_rts""cts_rts""cts_rts""cts_rts", 'dtr_dsr xon_xoff'"dtr_dsr xon_xoff""dtr_dsr xon_xoff""dtr_dsr xon_xoff""dtr_dsr xon_xoff", 'dtr_dsr'"dtr_dsr""dtr_dsr""dtr_dsr""dtr_dsr", 'none'"none""none""none""none", 'unchanged'"unchanged""unchanged""unchanged""unchanged", 'xon_xoff'"xon_xoff""xon_xoff""xon_xoff""xon_xoff"

ParityParityParityParityparity (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Parität der seriellen Schnittstelle.

Defaultwert: 'unchanged' "unchanged" "unchanged" "unchanged" "unchanged"

Werteliste: 'even'"even""even""even""even", 'none'"none""none""none""none", 'odd'"odd""odd""odd""odd", 'unchanged'"unchanged""unchanged""unchanged""unchanged"

StopBitsStopBitsStopBitsStopBitsstopBits (input_control)  integer HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Anzahl Stopbits der seriellen Schnittstelle.

Defaultwert: 'unchanged' "unchanged" "unchanged" "unchanged" "unchanged"

Werteliste: 1, 2, 'unchanged'"unchanged""unchanged""unchanged""unchanged"

TotalTimeOutTotalTimeOutTotalTimeOutTotalTimeOuttotalTimeOut (input_control)  integer HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Gesamt-Timeout der seriellen Schnittstelle in ms.

Defaultwert: 'unchanged' "unchanged" "unchanged" "unchanged" "unchanged"

Wertevorschläge: -1, 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 'unchanged'"unchanged""unchanged""unchanged""unchanged"

InterCharTimeOutInterCharTimeOutInterCharTimeOutInterCharTimeOutinterCharTimeOut (input_control)  integer HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Inter-character Timeout der seriellen Schnittstelle in ms.

Defaultwert: 'unchanged' "unchanged" "unchanged" "unchanged" "unchanged"

Wertevorschläge: -1, 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 'unchanged'"unchanged""unchanged""unchanged""unchanged"

Ergebnis

Wenn die Parameter korrekt sind und die Parameter des Gerätes gesetzt werden konnten, liefert set_serial_paramset_serial_paramSetSerialParamSetSerialParamSetSerialParam den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

open_serialopen_serialOpenSerialOpenSerialOpenSerial, get_serial_paramget_serial_paramGetSerialParamGetSerialParamGetSerialParam

Nachfolger

read_serialread_serialReadSerialReadSerialReadSerial, write_serialwrite_serialWriteSerialWriteSerialWriteSerial

Siehe auch

get_serial_paramget_serial_paramGetSerialParamGetSerialParamGetSerialParam

Modul

Foundation