User’s Manual
43
5.2
Dynamic C Function Calls
5.2.1 Digital I/O
The RCM4000 was designed to interface with other systems, and so there are no drivers
written specifically for the I/O. The general Dynamic C read and write functions allow
you to customize the parallel I/O to meet your specific needs. For example, use
WrPortI(PEDDR, &PEDDRShadow, 0x00);
to set all the Port E bits as inputs, or use
WrPortI(PEDDR, &PEDDRShadow, 0xFF);
to set all the Port E bits as outputs.
When using the auxiliary I/O bus on the Rabbit 4000 chip, add the line
#define PORTA_AUX_IO
// required to enable auxiliary I/O bus
to the beginning of any programs using the auxiliary I/O bus.
The sample programs in the Dynamic C
SAMPLES/RCM4000
folder provide further
examples.
5.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 delimited
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 transmitting or
receiving, and nonblocking functions, which must be called repeatedly until they are fin-
ished, allowing other functions to be performed between calls. For more information, see
the
Dynamic C Function Reference Manual
and Technical Note TN213,
Rabbit Serial
Port Software
.
5.2.3 SRAM Use
The RCM4000 module has a battery-backed data SRAM and a program-execution
SRAM. Dynamic C provides the
protected
keyword to identify variables that are to be
placed into the battery-backed SRAM. The compiler generates code that maintains two
copies of each protected variable in the battery-backed SRAM. The compiler also generates
a flag to indicate which copy of the protected variable is valid at the current time. This flag
is also stored in the battery-backed SRAM. When a protected variable is updated, the
“inactive” copy is modified, and is made “active” only when the update is 100% complete.
This assures the integrity of the data in case a reset or a power failure occurs during the
update process. At power-on the application program uses the active copy of the variable
pointed to by its associated flag.
Summary of Contents for RabbitCore RCM4000
Page 6: ...RabbitCore RCM4100...
Page 12: ...6 RabbitCore RCM4000...
Page 20: ...14 RabbitCore RCM4000...
Page 46: ...40 RabbitCore RCM4000...
Page 68: ...62 RabbitCore RCM4000...
Page 82: ...76 RabbitCore RCM4000...
Page 96: ...90 RabbitCore RCM4000...
Page 114: ...108 RabbitCore RCM4000...
Page 118: ...112 RabbitCore RCM4000...
Page 122: ...116 RabbitCore RCM4000...
Page 124: ......