EasyManua.ls Logo

Rabbit 2000 - Serial Communication Drivers

Rabbit 2000
54 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
38 Rabbit 2000 Development Kit
4.2.2 Serial Communication Drivers
Library files included with Dynamic C provide a full range of serial communications sup-
port. The
RS232.LIB library provides a set of circular-buffer-based serial functions. The
PACKET.LIB library provides packet-based serial functions where packets can be delim-
ited by the 9th bit, by transmission gaps, or with user-defined special characters. Both
libraries provide blocking functions, which do not return until they are finished transmit-
ting or receiving, and nonblocking functions, which must be called repeatedly until they
are finished. For more information, see the Dynamic C Function Reference Manual and
Technical Note 213, Rabbit 2000 Serial Port Software.
4.2.2.1 RS-485 Serial Communication Drivers
The JR485.LIB library in the Dynamic C LIB/JRABLIB directory contains three RS-485
drivers for use with the BL1810. These drivers are used with the drivers for Serial Port D
in
the RS232.LIB library because serDopen uses PC0 (TXD) and PC1 (RXD), which are
connected to pin 4 and pin 1 of the SP483EN RS-485 chip at U6. This chip is half duplex,
requiring pin 3 (Data Enable) to be high for pins 6 and 7 to act as outputs, and low for
those pins to act as inputs.
Parallel Ports D and E on the Rabbit 2000 are double-buffered to provide precisely timed
updating of the output pins. Each port is divided into an upper and a lower nibble. All bits
of each nibble must be updated simultaneously. Each nibble may be updated constantly at
a rate of perclk/2 or on a match of a selected timer (Timer A1, B1, or B2).
The bits used to select the update rate for each nibble are left random at power-up. If a mode
other than perclk/2 is selected, the bits of a particular port will not update on a simple
writing to the port’s data register. In particular, PD5, the RS-485 transmitter control, will not
set the RS-485 transmitter enable unless the upper nibble of Port D is configured properly.
The JR485Init function in Dynamic C release 6.16 has provision to disable the special
clocking features associated with the high nibble of Port D. This effectively disables
digital-to-analog (D/A) converter output channel DA1, the low-resolution D/A converter
channel, which also uses PD4. Channel DA0 has its PWM output clocked separately with
the low nibble, and so is not affected. Because the analog-to-digital converter uses D/A
channel DA0, analog-to-digital conversion is not affected.
There are three RS-485 serial drivers.
Sets up parallel port D pins for RS-485 use.
Sets pin 3 (DE) of the SP483EN chip high to disable Rx and enable Tx.
Resets pin 3 (DE) of the SP483EN chip low to disable Tx and enable Rx.
void Jr485Init();
void Jr485Tx();
void Jr485Rx();
Downloaded from Elcodis.com electronic components distributor

Other manuals for Rabbit 2000