If VTIME is about to 0 , reads will block indefinitely until the NDELAYoption is about on the port with open or fcntl. If VMIN is non-zero, VTIME specifies the time to wait for the first character learn. If a character is learn throughout the time given, any learn will block till all VMIN characters are read. That is, as soon as the first character is read, the serial interface driver expects to receive a complete packet of characters . If no character is learn throughout the time allowed, then the call to read returns 0.
Note that this does not mean that a readcall for N bytes will await N characters to return in. Rather, the timeout will apply to the first character and the read call will return the number of characters immediately out there .
This technique permits you to inform the serial driver you need precisely N bytes and any read call will return zero or N bytes. If it’s set to 0, then the VTIME value specifies the time to wait for each character learn.
Like the character size you have to manually set the parity enable and parity sort bits. UNIX serial drivers support even, odd, and no parity bit technology. CRTSCTSEnable hardware flow control The c_cflag member contains two choices that should at all times be enabled, CLOCAL and CREAD.
The VSTART and VSTOP elements of the c_cc array contain the characters used for software circulate control. Normally they need to be set to DC1 and DC3 which characterize the ASCII commonplace XON and XOFF characters. PARMRK causes parity errors to be ‘marked’ in the input stream using special characters. If IGNPAR is enabled, a NUL character is shipped to your program earlier than each character with a parity error. Otherwise, a DEL and NUL character is distributed along with the unhealthy character.