![background image](http://html1.mh-extra.com/html/rabbit/rabbitcore-rcm3309/rabbitcore-rcm3309_user-manual_3119427100.webp)
Distributor of Digi International: Excellent Integrated System Limited
Datasheet of 20-101-1194 - MODULE RABBITCORE RCM3309 ROHS
Contact us: [email protected] Website: www.integrated-circuit.com
User’s Manual
93
B.4.6.1 RS-232
RS-232 serial communication on the Prototyping Board is supported by an RS-232 trans-
ceiver installed at U9. This transceiver provides the voltage output, slew rate, and input
voltage immunity required to meet the RS-232 serial communication protocol. Basically,
the chip translates the Rabbit 3000’s signals to RS-232 signal levels. Note that the polarity
is reversed in an RS-232 circuit so that a +5 V output becomes approximately -10 V and 0
V is output as +10 V. The RS-232 transceiver also provides the proper line loading for
reliable communication.
RS-232 can be used effectively at the RCM3309/RCM3319 module’s maximum baud rate
for distances of up to 15 m.
RS-232 flow control on an RS-232 port is initiated in software using the
serXflowcontrolOn()
function call from
LIB\RS232.LIB
, where
X
is the serial port
(E or F). The locations of the flow control lines are specified using a set of five macros.
SERX_RTS_PORT
—Data register for the parallel port that the RTS line is on (e.g., PGDR).
SERX_RTS_SHADOW
—Shadow register for the RTS line's parallel port (e.g., PGDRShadow).
SERX_RTS_BIT
—The bit number for the RTS line.
SERX_CTS_PORT
—Data register for the parallel port that the CTS line is on (e.g., PCDRShadow).
SERX_CTS_BIT
—The bit number for the CTS line.
Standard 3-wire RS-232 communication using Serial Ports E and F is illustrated in the fol-
lowing sample code.
#define EINBUFSIZE 15 // set size of circular buffers in bytes
#define EOUTBUFSIZE 15
#define FINBUFSIZE 15
#define FOUTBUFSIZE 15
#define MYBAUD 115200 // set baud rate
#endif
main(){
serEopen(_MYBAUD); // open Serial Ports E and F
serFopen(_MYBAUD);
serEwrFlush(); // flush their input and transmit buffers
serErdFlush();
serFwrFlush();
serFrdFlush();
serEclose(_MYBAUD); // close Serial Ports C and D
serFclose(_MYBAUD);
}
100 / 191
100 / 191