![](http://datasheet.mmic.net.cn/260000/PPSMMANUAL_datasheet_15946768/PPSMMANUAL_69.png)
12-14
UUART Communication Support
Programmer’s Manual
12.4.1
Initiating a Receive Request
Applications can receive data from the UART by calling UARTReceive() to
initiate receive requests. A receive request will be accepted if both of the
following is true:
the application has permission to access the UART (refer to
Chapter 15 - Interrupt Handling
)
there is no other on-going receive request
Actual data receiving does not happen within the scope of UARTReceive(). If
UARTReceive() returns success for the request, PPSM will handle the UART
interrupts and start waiting for data in the background. The application will be able
to handle other interrupts (e.g. pen interrupts) in the foreground.
For power saving reason, system is in Doze mode during data reception. For fast
data reception, it is recommended to disable the Doze mode before calling
UARTReceive().
Note:
Application swapping is disabled when there is an on-going
receive request.
12.4.2
Reading Received Data
When PPSM has received data from the UART, it will post an IRPT_UART
interrupt message with message data UART_DATA_RECEIVED to the calling
application. The calling application should then call UARTReadData() as soon as
possible to read the received data from PPSM.
As PPSM is receiving data from the UART, the following error conditions may
arise:
a frame error generated by the UART hardware
a parity error generated by the UART hardware
an overrun error when PPSM or the calling application is falling
behind in reading the received data
In any of the above error conditions, PPSM will post the IRPT_UART interrupt
message with message data UART_ERROR and the corresponding error code.
These error related interrupt messages only serve as a notification to the calling
application, and does NOT stop PPSM from continuing the receive request. The
calling application should determine the appropriate recovery actions. (Refer to
Section 15.1.9 - IRPT_UART
for details about the UART interrupt message).
If RTS/CTS is enabled, RTS pin is negated when PPSM running
UARTReadData() and asserted after data reading completed.
12.4.3
Terminating a Receive Request
A receive request will be terminated under the following circumstances:
If a timed out error condition occurs during the course of receiving
data, PPSM will post the IRPT_UART interrupt message with
message data UART_ERROR and the corresponding error code.
Personal Portable System Manager
Programmer’s Manual
12-11
Inquiring the UART Configurations
void
UARTInquire
(P_U8
stopBits P_U8
)
UARTInquire() provides the interface for applications to inquire the current
configuration settings of the UART. UARTInquire() returns the selection flag for
the corresponding configuration setting as shown in
rate. The actual baud rate in bps is returned instead.
, except for baud
Note:
UARTInquire() is the only UART API tool that does NOT require
UART access permission.
Setting Data Transmission Time Out
STATUS
UARTTimeout
)
The data transmission time out is defined to be the time interval between two
hardware UART interrupts. This time out is set to safe-guard the application from
deadlocking itself when the data stream terminates unexpectedly.
If RTS/CTS is enabled, after called UARTSend() to initiate transmission,
application will receive a time out error if CTS is not asserted within the time out
period. If CTS is asserted, application will receive a time out error if the time
interval between two hardware UART interrupts is larger than the time out period.
The range of time out values supported is zero to 60,000.
Zero means disabling the time out function.
1 to 60,000 means allowing the time interval between two hardware
UART interrupts to be 1 millisecond to 1 minute.
12.2.4
Setting Data Transmission Delay
STATUS
UARTSetDelay
)
In order to communicate with application in PC, such as HyperTerminal and Telix,
transmitting data in a burst of pulses periodically would greatly increase the
accuracy of transmission. This function allows user to set a delay, in unit of 100us,
between each transmission of all data in transmit FIFO (between two hardware
interrupts). In
Example 12-1
, an application is going to transmit data through
UART to HyperTerminal under Window95. A 400 microseconds delay is set
between each UART hardware interrupt.
Number of Stop Bits
1 stop bit
2 stop bit
Character Length
7-bit character
8-bit character
Table 12-2 UART Configurations and Supported Settings
Configurations
Supported Settings
F
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
.