RTEMS: bsps/arm/atsam/contrib/libraries/libchip/source/usart.c File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Functions
usart.c File Reference
`#include "chip.h"`
`#include <assert.h>`
`#include <string.h>`

## Functions
void | USART_SetBaudrate (Usart *pUsart, uint8_t OverSamp, uint32_t baudrate, uint32_t masterClock)
| Configures an USART baudrate.
void | USART_Configure (Usart *pUsart, uint32_t mode, uint32_t baudrate, uint32_t masterClock)
| Configures an USART peripheral with the specified parameters.
void | USART_SetTransmitterEnabled (Usart *pUsart, uint8_t enabled)
| Enables or disables the transmitter of an USART peripheral.
void | USART_DisableRx (Usart *pUsart)
| Disables the Receiver of an USART peripheral.
void | USART_DisableTx (Usart *pUsart)
| Disables the transmitter of an USART peripheral.
void | USART_EnableRx (Usart *pUsart)
| Enables the Receiver of an USART peripheral.
void | USART_EnableTx (Usart *pUsart)
| Enables the transmitter of an USART peripheral.
void | USART_ResetRx (Usart *pUsart)
| Resets or disables the Receiver of an USART peripheral.
void | USART_ResetTx (Usart *pUsart)
| resets and disables the transmitter of an USART peripheral.
void | USART_SetReceiverEnabled (Usart *pUsart, uint8_t enabled)
| Enables or disables the receiver of an USART peripheral.
void | USART_SetRTSEnabled (Usart *pUsart, uint8_t enabled)
| Enables or disables the Request To Send (RTS) of an USART peripheral.
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.
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.
uint8_t | USART_IsDataAvailable (Usart *pUsart)
| Returns 1 if some data has been received and can be read from an USART; otherwise returns 0.
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.
uint32_t | USART_IsRxReady (Usart *pUsart)
| Return 1 if a character can be read in USART.
uint32_t | USART_GetStatus (Usart *pUsart)
| Get present status.
void | USART_EnableIt (Usart *pUsart, uint32_t mode)
| Enable interrupt.
void | USART_DisableIt (Usart *pUsart, uint32_t mode)
| Disable interrupt.
uint32_t | USART_GetItMask (Usart *pUsart)
| Return interrupt mask.
uint8_t | USART_GetChar (Usart *pUsart)
| Reads and returns a character from the USART.
void | USART_EnableRecvTimeOut (Usart *pUsart, uint32_t Timeout)
| Enable Rx Timeout for USART.
void | USART_EnableTxTimeGaurd (Usart *pUsart, uint32_t TimeGaurd)
| Enable Tx Timeout for USART.
void | USART_AcknowledgeRxTimeOut (Usart *pUsart, uint8_t Periodic)
| Acknowledge Rx timeout and sets to Idle or periodic repetitive state.

## Detailed Description

Implementation of USART (Universal Synchronous Asynchronous Receiver Transmitter) controller.

## Function Documentation

## ◆ USART_AcknowledgeRxTimeOut()

void USART_AcknowledgeRxTimeOut | ( | Usart * | pUsart,
|  | uint8_t | Periodic
| ) |  |

Acknowledge Rx timeout and sets to Idle or periodic repetitive state.

Parameters

  pUsart | Pointer to an USART peripheral.
  Periodic | If timeout is periodic or should wait for new char

Returns
  None

## ◆ USART_Configure()

void USART_Configure | ( | Usart * | pUsart,
|  | uint32_t | mode,
|  | uint32_t | baudrate,
|  | uint32_t | masterClock
| ) |  |

Configures an USART peripheral with the specified parameters.

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).

## ◆ USART_DisableIt()

void USART_DisableIt | ( | Usart * | pUsart,
|  | uint32_t | mode
| ) |  |

Disable interrupt.

Parameters

  pUsart | Pointer to an USART peripheral.
  mode | Interrupt mode.

## ◆ USART_DisableRx()

void USART_DisableRx | ( | Usart * | pUsart | ) |

Disables the Receiver of an USART peripheral.

Parameters

  pUsart | Pointer to an USART peripheral

## ◆ USART_DisableTx()

void USART_DisableTx | ( | Usart * | pUsart | ) |

Disables the transmitter of an USART peripheral.

Parameters

  pUsart | Pointer to an USART peripheral

## ◆ USART_EnableIt()

void USART_EnableIt | ( | Usart * | pUsart,
|  | uint32_t | mode
| ) |  |

Enable interrupt.

Parameters

  pUsart | Pointer to an USART peripheral.
  mode | Interrupt mode.

## ◆ USART_EnableRecvTimeOut()

void USART_EnableRecvTimeOut | ( | Usart * | pUsart,
|  | uint32_t | Timeout
| ) |  |

Enable Rx Timeout for USART.

Parameters

  pUsart | Pointer to an USART peripheral.
  Timeout | Timeout value

Returns
  None

## ◆ USART_EnableRx()

void USART_EnableRx | ( | Usart * | pUsart | ) |

Enables the Receiver of an USART peripheral.

Parameters

  pUsart | Pointer to an USART peripheral

## ◆ USART_EnableTx()

void USART_EnableTx | ( | Usart * | pUsart | ) |

Enables the transmitter of an USART peripheral.

Parameters

  pUsart | Pointer to an USART peripheral

## ◆ USART_EnableTxTimeGaurd()

void USART_EnableTxTimeGaurd | ( | Usart * | pUsart,
|  | uint32_t | TimeGaurd
| ) |  |

Enable Tx Timeout for USART.

Parameters

  pUsart | Pointer to an USART peripheral.
  TimeGaurd | TimeGaurd value

Returns
  None

## ◆ USART_GetChar()

uint8_t USART_GetChar | ( | Usart * | pUsart | ) |

Reads and returns a character from the USART.

Note
  This function is synchronous (i.e. uses polling).

Parameters

  pUsart | Pointer to an USART peripheral.

Returns
  Character received.

## ◆ USART_GetItMask()

uint32_t USART_GetItMask | ( | Usart * | pUsart | ) |

Return interrupt mask.

Parameters

  pUsart | Pointer to an USART peripheral.

## ◆ USART_GetStatus()

uint32_t USART_GetStatus | ( | Usart * | pUsart | ) |

Get present status.

Parameters

  pUsart | Pointer to an USART peripheral.

## ◆ USART_IsDataAvailable()

uint8_t USART_IsDataAvailable | ( | Usart * | pUsart | ) |

Returns 1 if some data has been received and can be read from an USART; otherwise returns 0.

Parameters

  pUsart | Pointer to an USART instance.

## ◆ USART_IsRxReady()

uint32_t USART_IsRxReady | ( | Usart * | pUsart | ) |

Return 1 if a character can be read in USART.

Parameters

  pUsart | Pointer to an USART peripheral.

## ◆ USART_PutChar()

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.

Parameters

  pUsart | Pointer to an USART peripheral.
  c | Character to send

## ◆ USART_Read()

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.

Parameters

  pUsart | Pointer to an USART peripheral.
  timeOut | Time out value (0 -> no timeout).

## ◆ USART_ResetRx()

void USART_ResetRx | ( | Usart * | pUsart | ) |

Resets or disables the Receiver of an USART peripheral.

Parameters

  pUsart | Pointer to an USART peripheral

## ◆ USART_ResetTx()

void USART_ResetTx | ( | Usart * | pUsart | ) |

resets and disables the transmitter of an USART peripheral.

Parameters

  pUsart | Pointer to an USART peripheral

## ◆ USART_SetBaudrate()

void USART_SetBaudrate | ( | Usart * | pUsart,
|  | uint8_t | OverSamp,
|  | uint32_t | baudrate,
|  | uint32_t | masterClock
| ) |  |

Configures an USART baudrate.

Parameters

  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).

## ◆ USART_SetReceiverEnabled()

void USART_SetReceiverEnabled | ( | Usart * | pUsart,
|  | uint8_t | enabled
| ) |  |

Enables or disables the receiver of an USART peripheral.

Parameters

  pUsart | Pointer to an USART peripheral
  enabled | If true, the receiver is enabled; otherwise it is disabled.

## ◆ USART_SetRTSEnabled()

void USART_SetRTSEnabled | ( | Usart * | pUsart,
|  | uint8_t | enabled
| ) |  |

Enables or disables the Request To Send (RTS) of an USART peripheral.

Parameters

  pUsart | Pointer to an USART peripheral
  enabled | If true, the RTS is enabled (0); otherwise it is disabled.

## ◆ USART_SetTransmitterEnabled()

void USART_SetTransmitterEnabled | ( | Usart * | pUsart,
|  | uint8_t | enabled
| ) |  |

Enables or disables the transmitter of an USART peripheral.

Parameters

  pUsart | Pointer to an USART peripheral
  enabled | If true, the transmitter is enabled; otherwise it is disabled.

## ◆ USART_Write()

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.

Parameters

  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).