




 
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.
The function open-serial-port attempts to open the serial port name and return a serial-port object.
If any of 
baud-rate
, 
data-bits
, 
stop-bits
 and 
parity
 are supplied then the corresponding serial port settings are changed. The values of 
baud-rate
 and 
data-bits
 should each be an appropriate integer. The value of 
stop-bits 
should be 1, 1.5 or 2. The value of 
parity
 should be one of the keywords 
:even
, 
:mark
, 
:none
, 
:odd
 or 
:space
.
The arguments 
cts-flow-p
 and 
dsr-flow-p
 control whether write operations respond to CTS and DSR flow control. A non-
nil 
value means that the corresponding flow control is used.
The arguments  
dtr
 and 
rts
 control whether read operations generate DTR or RTS flow control.  If the value is 
:handshake
 then the corresponding flow control signal is generated automatically.  If the value is 
nil
 or 
t
 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.
The argument 
read-interval-timeout
 can be used to control the maximum time to wait between each input character. The value 
:none
 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 timeout is given by the expression base_timeout + nchars * byte_timeout.
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.
The timeout is given by the expression base_timeout + nchars * byte_timeout.