RTEMS
5.0.0
|
#include "chip.h"
#include <stdint.h>
Go to the source code of this file.
Macros | |
#define | USART_MODE_ASYNCHRONOUS (US_MR_CHRL_8_BIT | US_MR_PAR_NO) |
#define | MAX_RX_TIMEOUT 131071 |
#define | USART_MODE_IRDA (US_MR_USART_MODE_IRDA | US_MR_CHRL_8_BIT | US_MR_PAR_NO | US_MR_FILTER) |
#define | AT91C_US_USMODE_SPIM 0xE |
#define | US_SPI_CPOL_0 (0x0<<16) |
#define | US_SPI_CPHA_0 (0x0<<8) |
#define | US_SPI_CPOL_1 (0x1<<16) |
#define | US_SPI_CPHA_1 (0x1<<8) |
#define | US_SPI_BPMODE_0 (US_SPI_CPOL_0|US_SPI_CPHA_1) |
#define | US_SPI_BPMODE_1 (US_SPI_CPOL_0|US_SPI_CPHA_0) |
#define | US_SPI_BPMODE_2 (US_SPI_CPOL_1|US_SPI_CPHA_1) |
#define | US_SPI_BPMODE_3 (US_SPI_CPOL_1|US_SPI_CPHA_0) |
Functions | |
void | USART_Configure (Usart *pUsart, uint32_t mode, uint32_t baudrate, uint32_t masterClock) |
Configures an USART peripheral with the specified parameters. More... | |
void | USART_SetBaudrate (Usart *pUsart, uint8_t OverSamp, uint32_t baudrate, uint32_t masterClock) |
Configures an USART baudrate. More... | |
uint32_t | USART_GetStatus (Usart *usart) |
Get present status. More... | |
void | USART_ResetRx (Usart *pUsart) |
Resets or disables the Receiver of an USART peripheral. More... | |
void | USART_ResetTx (Usart *pUsart) |
resets and disables the transmitter of an USART peripheral. More... | |
void | USART_EnableTx (Usart *pUsart) |
Enables the transmitter of an USART peripheral. More... | |
void | USART_EnableRx (Usart *pUsart) |
Enables the Receiver of an USART peripheral. More... | |
void | USART_DisableRx (Usart *pUsart) |
Disables the Receiver of an USART peripheral. More... | |
void | USART_DisableTx (Usart *pUsart) |
Disables the transmitter of an USART peripheral. More... | |
void | USART_EnableIt (Usart *usart, uint32_t mode) |
Enable interrupt. More... | |
void | USART_DisableIt (Usart *usart, uint32_t mode) |
Disable interrupt. More... | |
uint32_t | USART_GetItMask (Usart *usart) |
Return interrupt mask. More... | |
void | USART_SetTransmitterEnabled (Usart *usart, uint8_t enabled) |
Enables or disables the transmitter of an USART peripheral. More... | |
void | USART_SetReceiverEnabled (Usart *usart, uint8_t enabled) |
Enables or disables the receiver of an USART peripheral. More... | |
void | USART_SetRTSEnabled (Usart *usart, uint8_t enabled) |
Enables or disables the Request To Send (RTS) of an USART peripheral. More... | |
void | USART_Write (Usart *usart, uint16_t data, volatile uint32_t timeOut) |
Sends one packet of data through the specified USART peripheral. This function operates synchronously, so it only returns when the data has been actually sent. More... | |
uint16_t | USART_Read (Usart *usart, volatile uint32_t timeOut) |
Reads and return a packet of data on the specified USART peripheral. This function operates asynchronously, so it waits until some data has been received. More... | |
uint8_t | USART_IsDataAvailable (Usart *usart) |
Returns 1 if some data has been received and can be read from an USART; otherwise returns 0. More... | |
void | USART_SetIrdaFilter (Usart *pUsart, uint8_t filter) |
void | USART_PutChar (Usart *usart, uint8_t c) |
Sends one packet of data through the specified USART peripheral. This function operates synchronously, so it only returns when the data has been actually sent. More... | |
uint32_t | USART_IsRxReady (Usart *usart) |
Return 1 if a character can be read in USART. More... | |
uint8_t | USART_GetChar (Usart *usart) |
Reads and returns a character from the USART. More... | |
void | USART_EnableRecvTimeOut (Usart *usart, uint32_t timeout) |
Enable Rx Timeout for USART. More... | |
void | USART_EnableTxTimeGaurd (Usart *pUsart, uint32_t TimeGaurd) |
Enable Tx Timeout for USART. More... | |
void | USART_AcknowledgeRxTimeOut (Usart *usart, uint8_t Periodic) |
Acknowledge Rx timeout and sets to Idle or periodic repetitive state. More... | |
This module provides several definitions and methods for using an USART peripheral.
#define AT91C_US_USMODE_SPIM 0xE |
SPI mode
#define USART_MODE_ASYNCHRONOUS (US_MR_CHRL_8_BIT | US_MR_PAR_NO) |
#define USART_MODE_IRDA (US_MR_USART_MODE_IRDA | US_MR_CHRL_8_BIT | US_MR_PAR_NO | US_MR_FILTER) |
IRDA mode
void USART_AcknowledgeRxTimeOut | ( | Usart * | pUsart, |
uint8_t | Periodic | ||
) |
Acknowledge Rx timeout and sets to Idle or periodic repetitive state.
pUsart | Pointer to an USART peripheral. |
Periodic | If timeout is periodic or should wait for new char |
void USART_Configure | ( | Usart * | pUsart, |
uint32_t | mode, | ||
uint32_t | baudrate, | ||
uint32_t | masterClock | ||
) |
Configures an USART peripheral with the specified parameters.
pUsart | Pointer to the USART peripheral to configure. |
mode | Desired value for the USART mode register (see the datasheet). |
baudrate | Baudrate at which the USART should operate (in Hz). |
masterClock | Frequency of the system master clock (in Hz). |
void USART_DisableIt | ( | Usart * | pUsart, |
uint32_t | mode | ||
) |
Disable interrupt.
pUsart | Pointer to an USART peripheral. |
mode | Interrupt mode. |
void USART_DisableRx | ( | Usart * | pUsart | ) |
Disables the Receiver of an USART peripheral.
pUsart | Pointer to an USART peripheral |
void USART_DisableTx | ( | Usart * | pUsart | ) |
Disables the transmitter of an USART peripheral.
pUsart | Pointer to an USART peripheral |
void USART_EnableIt | ( | Usart * | pUsart, |
uint32_t | mode | ||
) |
Enable interrupt.
pUsart | Pointer to an USART peripheral. |
mode | Interrupt mode. |
void USART_EnableRecvTimeOut | ( | Usart * | pUsart, |
uint32_t | Timeout | ||
) |
Enable Rx Timeout for USART.
pUsart | Pointer to an USART peripheral. |
Timeout | Timeout value |
void USART_EnableRx | ( | Usart * | pUsart | ) |
Enables the Receiver of an USART peripheral.
pUsart | Pointer to an USART peripheral |
void USART_EnableTx | ( | Usart * | pUsart | ) |
Enables the transmitter of an USART peripheral.
pUsart | Pointer to an USART peripheral |
void USART_EnableTxTimeGaurd | ( | Usart * | pUsart, |
uint32_t | TimeGaurd | ||
) |
Enable Tx Timeout for USART.
pUsart | Pointer to an USART peripheral. |
TimeGaurd | TimeGaurd value |
uint8_t USART_GetChar | ( | Usart * | pUsart | ) |
Reads and returns a character from the USART.
pUsart | Pointer to an USART peripheral. |
uint32_t USART_GetItMask | ( | Usart * | pUsart | ) |
Return interrupt mask.
pUsart | Pointer to an USART peripheral. |
uint32_t USART_GetStatus | ( | Usart * | pUsart | ) |
Get present status.
pUsart | Pointer to an USART peripheral. |
uint8_t USART_IsDataAvailable | ( | Usart * | pUsart | ) |
Returns 1 if some data has been received and can be read from an USART; otherwise returns 0.
pUsart | Pointer to an USART instance. |
uint32_t USART_IsRxReady | ( | Usart * | pUsart | ) |
Return 1 if a character can be read in USART.
pUsart | Pointer to an USART peripheral. |
void USART_PutChar | ( | Usart * | pUsart, |
uint8_t | c | ||
) |
Sends one packet of data through the specified USART peripheral. This function operates synchronously, so it only returns when the data has been actually sent.
pUsart | Pointer to an USART peripheral. |
c | Character to send |
uint16_t USART_Read | ( | Usart * | pUsart, |
volatile uint32_t | timeOut | ||
) |
Reads and return a packet of data on the specified USART peripheral. This function operates asynchronously, so it waits until some data has been received.
pUsart | Pointer to an USART peripheral. |
timeOut | Time out value (0 -> no timeout). |
void USART_ResetRx | ( | Usart * | pUsart | ) |
Resets or disables the Receiver of an USART peripheral.
pUsart | Pointer to an USART peripheral |
void USART_ResetTx | ( | Usart * | pUsart | ) |
resets and disables the transmitter of an USART peripheral.
pUsart | Pointer to an USART peripheral |
void USART_SetBaudrate | ( | Usart * | pUsart, |
uint8_t | OverSamp, | ||
uint32_t | baudrate, | ||
uint32_t | masterClock | ||
) |
Configures an USART baudrate.
pUsart | Pointer to the USART peripheral to configure. |
baudrate | Baudrate at which the USART should operate (in Hz). |
masterClock | Frequency of the system master clock (in Hz). |
void USART_SetReceiverEnabled | ( | Usart * | pUsart, |
uint8_t | enabled | ||
) |
Enables or disables the receiver of an USART peripheral.
pUsart | Pointer to an USART peripheral |
enabled | If true, the receiver is enabled; otherwise it is disabled. |
void USART_SetRTSEnabled | ( | Usart * | pUsart, |
uint8_t | enabled | ||
) |
Enables or disables the Request To Send (RTS) of an USART peripheral.
pUsart | Pointer to an USART peripheral |
enabled | If true, the RTS is enabled (0); otherwise it is disabled. |
void USART_SetTransmitterEnabled | ( | Usart * | pUsart, |
uint8_t | enabled | ||
) |
Enables or disables the transmitter of an USART peripheral.
pUsart | Pointer to an USART peripheral |
enabled | If true, the transmitter is enabled; otherwise it is disabled. |
void USART_Write | ( | Usart * | pUsart, |
uint16_t | data, | ||
volatile uint32_t | timeOut | ||
) |
Sends one packet of data through the specified USART peripheral. This function operates synchronously, so it only returns when the data has been actually sent.
pUsart | Pointer to an USART peripheral. |
data | Data to send including 9nth bit and sync field if necessary (in the same format as the US_THR register in the datasheet). |
timeOut | Time out value (0 = no timeout). |