Attempts to open the named serial port and return a serial-port object.
open-serial-port name &rest args &key baud-rate data-bits stop-bits parity cts-flow-p dsr-flow-p dtr rts read-interval-timeout read-total-base-timeout read-total-byte-timeout write-total-base-timeout write-total-byte-timeout => serial-port
A string naming a serial port.
See in the Description below for details of the remaining arguments.
A serial-port object.
The function open-serial-port attempts to open the serial port name and return a serial-port object.
is passed directly to
. For ports COM
> 9, you must take care to pass the real port name expected by Windows. At the time of writing this issue is documented at
If any of
are supplied then the corresponding serial port settings are changed. The values of
should each be an appropriate integer. The value of
should be 1, 1.5 or 2. The value of
should be one of the keywords
control whether read operations generate DTR or RTS flow control. If the value is
then the corresponding flow control signal is generated automatically. If the value is
then the initial state of the flow control signal is set and automatic flow control is not used. See set-serial-port-state for manual flow control.
can be used to control the maximum time to wait between each input character. The value
means that reading will not wait for characters at all, only returning whatever is already in the input buffer
The arguments read-total-base-timeout and read-total-byte-timeout can be used to control the maximum time to wait for a sequence of characters. The arguments write-total-base-timeout and write-total-byte-timeout can be used to control the maximum time to wait when transmitting a sequence of characters. For both reading and writing the timeout is given by the expression:
base_timeout + nchars * byte_timeout
The default value of each of
and this means that the corresponding parameter in the OS is left unchanged and there is zero timeout. Otherwise the value should be a non-negative real number specifying a timeout in seconds.