![](http://datasheet.mmic.net.cn/260000/PPSMMANUAL_datasheet_15946768/PPSMMANUAL_70.png)
12-12
UUART Communication Support
Programmer’s Manual
The range of delay values supported is 1 to 60,000.
UART_TXDELAY_CLEAR means clear the delay during
transmission
1 to 60,000 means allowing the delay interval between two
hardware UART interrupts to be 100 microsecond to 6 seconds.
Example 12-1 Setting delay within transmission
.....
IrptRequest(IRPT_UART_FLAG);
/* Enable RTS/CTS flow control */
UARTFlowCtrl(UART_RCTS_ENABLE);
/* Configure UART */
UARTConfigure( UART_NORMAL_MODE, UART_115200_BPS, NO_PARITY, ONE_STOP_BIT,
EIGHT_BIT_CHAR);
/* Set a 600 us delay between each hardware interrupt */
_UARTSetDelay(UART_TXHALF_DELAY, 6);
/* release irpt */
IrptRelease(IRPT_UART_FLAG);
.....
12.3
Sending Data to the UART
STATUS
UARTSend
(U8
sendFlag,
P_U8
data,
U16
dataLen
)
Refer to
Figure 12-2
and
Figure 12-4
for an overview of the data transmit
architecture.
12.3.1
Initiating a Send Request
Applications can send data out to the UART by calling UARTSend() to
initiate send requests. A send request will be accepted if both of the
following are true:
the application has permission to access the UART (refer to
Chapter 15 - Interrupt Handling
)
there is no other on-going send request
Actual data sending does not happen within the scope of UARTSend(). If
UARTSend() returns success for the request, PPSM will handle the UART
interrupts and start sending data in the background. The application will be able to
handle other interrupts (e.g. pen interrupts) in the foreground.
The calling application cannot modify the content of the data buffer during the
entire course of the send request.
If RTS/CTS hardware flow control is enabled, PPSM only transmits data through
UART when CTS pin is asserted by receiver.
For power saving reason, system is in Doze mode during transmission. However,
transmission speed is reduced. For fast data transmission, it is recommendedRefer to
disable the Doze mode before calling UARTSend() which is shown in
Examparchitecture.
12-2
.
Note:
Application swapping is disabled when there is an on-going
data transmission.
Personal Portable System Manager
Programmer’s Manual
12-13
Example 12-2 Initiating a Send request
.....
IrptRequest(IRPT_UART_FLAG);
SetDozePeriod(PPSM_NO_DOZE);
UARTSend(UART_SEND_REQUEST,gSendMsg,gSendDataLen);
.....
12.3.2
Terminating a Send Request
A send request will be terminated under the following circumstances:
After PPSM finishes sending all data, it will post an IRPT_UART
interrupt message with message data UART_DATA_SENT to the
calling application. This marks the completion of the send request.
(Refer to
Section 15.1.9 - IRPT_UART
for details about the UART
interrupt message).
If a timed out error condition occurs during the course of sending
data, PPSM will post the IRPT_UART interrupt message with
message data UART_ERROR and the corresponding error code.
This marks a failed send request, and the calling application should
determine the recovery actions. The current transmission is aborted
after time out happened.
An application aborts the on-going send request by calling
UARTSend() or UARTSendAbort() with the abort flag.
The calling application should release the UART access permission by calling
IrptRelease() as soon as it is not needed anymore.
It is recommended to force system to Doze mode after terminated a transmission
or a transmission is completed which is illustrated in
Note:
Application swapping is re-enabled after a transmission is
completed or aborted.
Example 12-3 Terminating a transmission
.....
/* Abort send. Store the pointer of send buffer and no. of bytes have been..*/
/* .. sent in gpSendbuf and gSendbyte respectively */
UARTSendAbort(UART_SEND_ABORT, &gpSendbuf, &gSendbyte);
IrptRelease(IRPT_UART_FLAG); /* release interrupt */
SetDozePeriod(0); /* go to Doze mode */
.....
12.4
Receiving Data from the UART
STATUS
UARTReceive
)
STATUS
UARTReadData
)
Figure 12-1
and
for an overview of the data receive
F
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
.