for connected embedded systems
![]() |
![]() |
![]() |
![]() |
devc-ser2681, devc-tser2681
2681 serial communications manager (QNX Neutrino)
![]() |
You must be root to start this driver. |
Syntax:
devc-ser2681 [[options] [port[^shift[,intr]]]]... & devc-tser2681 [[options] [port[^shift[,intr]]]]... &
Runs on:
MIPS
Options:
The options are position-dependent and affect the subsequent ports.
- -1
- Use only serial channel A.
- -2
- Use serial channels A and B.
- -b number
- The initial baud rate (default 9600).
- -C size
- The size of the canonical buffer in bytes (default 256).
- -c rate
- The input clock rate.
- -E
- Start in raw mode (the default). Software flow control is disabled by default.
- -e
- Start in edited mode (default raw). Software flow control is enabled by default.
- -F
- Disable hardware flow control (default to hardware flow control enabled). Hardware flow control is not supported in edited mode.
- -f
- Enable hardware flow control (default). Hardware flow control is not supported in edited mode.
- -I number
- The size of the interrupt input buffer in bytes (default 2048).
- -O number
- The size of the interrupt output buffer in bytes (default 2048).
- -S|s
- Disable / enable software flow control. The default depends on the
mode: in raw mode (-E, the default), it's disabled;
in edited mode (-e), it's enabled.
The order in which you specify the -E or -e, and -S or -s options matters:
Options Mode Software flow control -e Edited Enabled -S -e Edited Enabled -e -S Edited Disabled -E Raw Disabled -s -E Raw Disabled -E -s Raw Enabled - -u number
- Append number to the device name prefix (/dev/ser). The default is 1; additional devices are given increasing numbers.
- port
- The hex I/O address of a serial port.
- shift
- The spacing of the device registers as a power of 2.
For example:
- 0
- Registers are 1 byte apart.
- 1
- Registers are 2 bytes apart.
- 2
- Registers are 4 bytes apart.
...
- n
- Registers are 2n bytes apart.
The default shift is 0.
- intr
- The decimal interrupt used by this port.
Description:
The devc-ser2681 manager is a small serial device manager for QNX Neutrino. It can support any number of serial ports using 2681s. Each device can be assigned its own interrupt or share an interrupt if the hardware supports interrupt sharing. If you don't specify any I/O ports for devices, devc-ser2681 assumes you want to use the standard ports.
The devc-tser2681 manager is a "tiny" version of devc-ser2681 that's intended for memory-constrained systems. It doesn't support special character editing (e.g. toggling insert mode, special erase characters).
Each device is given a name in the pathname space of /dev/sern, where n starts at 1 and increases. You can use the -u option to specify the starting number.
![]() |
If your application uses /dev/console,
you should create a link from it to one of
/dev/ser1, /dev/ser2, ... by adding
a line like this to the buildfile used by mkifs:
[type=link] /dev/console = /dev/ser1 |
All devices are fully interrupt driven and by default support standard hardware flow control on input and output (RTS/CTS). This can be disabled by the -F option.
![]() |
Hardware flow control is not supported in edited mode. |
A read request by default returns when at least 1 character is available. To increase efficiency, you can control three parameters to control when a read is satisfied:
- Time
- Return after a specified amount of time has elapsed.
- Min
- Return when this number of characters are in the input buffer.
- Char
- Return if this forwarding character is in the input buffer.
![]() |
If the Min value is greater than the size of the input buffer, the Min value is clipped to the size of the buffer. To avoid this, the size of the input buffer can be changed with the -I option. |
These parameters are set using library routines (see tcgetattr(), tcsetattr(), readcond() and TimerTimeout() in the Library Reference).
The devc-ser2681 driver supports both raw and edited modes, making it a real tty device.
The following fields and flags are supported in the termios structure:
| Field | Supported flags |
|---|---|
| c_cc | All characters |
| c_iflag | BRKINT ICRNL IGNBRK IXON |
| c_oflag | OPOST |
| c_cflag | CLOCAL CSIZE CSTOPB PARENB PARODD |
| c_lflag | ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH |
Examples:
Start devc-ser2681, using the default serial ports 1 and 2:
devc-ser2681 &
Start devc-ser2681, using the default serial ports 1 and 2, but changing the baud rate to 38400:
devc-ser2681 -b 38400 &
Start devc-ser2681 with five ports (with the last four preset to 38400 baud):
devc-ser2681 3f8,4 -b 38400 280,3 288,3 290,3 298,3 &
You can specify multiple -F and -f options; they're position-dependent, and affect the next serial port:
devc-ser2681 -F 3f8,4 -f 2f8,3 &
See also:
Character I/O drivers (devc-*) in the Utilities Summary
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
