SCI Module

The SCI driver provides functions which can configure the data word length, baud rate, parity, and stop bits of the SCI communication. It can also be used to perform an autobaud lock, enable or disable loopback mode, enable the FIFO enhancement, configure interrupts, and send and receive data. If FIFO enhancement is enabled, the application must use the provided FIFO read and write functions to guarantee proper execution.

group sci_api

Defines

SCI_INT_RXERR 0x01U

RXERR interrupt.

SCI_INT_RXRDY_BRKDT 0x02U

RXRDY interrupt.

SCI_INT_TXRDY 0x04U

TXRDY interrupt.

SCI_INT_TXFF 0x08U

TX FIFO level interrupt.

SCI_INT_RXFF 0x10U

RX FIFO level interrupt.

SCI_INT_FE 0x20U

Frame Error.

SCI_INT_OE 0x40U

Overrun Error.

SCI_INT_PE 0x80U

Parity Error.

SCI_CONFIG_WLEN_MASK 0x0007U

Mask for extracting word length.

SCI_CONFIG_WLEN_8 0x0007U

8 bit data

SCI_CONFIG_WLEN_7 0x0006U

7 bit data

SCI_CONFIG_WLEN_6 0x0005U

6 bit data

SCI_CONFIG_WLEN_5 0x0004U

5 bit data

SCI_CONFIG_WLEN_4 0x0003U

4 bit data

SCI_CONFIG_WLEN_3 0x0002U

3 bit data

SCI_CONFIG_WLEN_2 0x0001U

2 bit data

SCI_CONFIG_WLEN_1 0x0000U

1 bit data

SCI_CONFIG_STOP_MASK 0x0080U

Mask for extracting stop bits.

SCI_CONFIG_STOP_ONE 0x0000U

One stop bit.

SCI_CONFIG_STOP_TWO 0x0080U

Two stop bits.

SCI_CONFIG_PAR_MASK 0x0060U

Parity Mask.

SCI_RXSTATUS_WAKE 0x0002U

Receiver wake up detect.

SCI_RXSTATUS_PARITY 0x0004U

Parity error.

SCI_RXSTATUS_OVERRUN 0x0008U

Overrun error.

SCI_RXSTATUS_FRAMING 0x0010U

Framing error.

SCI_RXSTATUS_BREAK 0x0020U

Break detect.

SCI_RXSTATUS_READY 0x0040U

Receiver ready.

SCI_RXSTATUS_ERROR 0x0080U

Receiver error.

Enums

enum SCI_ParityType

Values that can be used with SCI_setParityMode() and SCI_getParityMode() to describe the parity of the SCI communication.

Values:

enumerator SCI_CONFIG_PAR_NONE = 0x0000U

No parity.

enumerator SCI_CONFIG_PAR_EVEN = 0x0060U

Even parity.

enumerator SCI_CONFIG_PAR_ODD = 0x0020U

Odd parity.

enum SCI_TxFIFOLevel

Values that can be passed to SCI_setFIFOInterruptLevel() as the txLevel parameter and returned by SCI_getFIFOInteruptLevel() and SCI_getTxFIFOStatus().

Values:

enumerator SCI_FIFO_TX0 = 0x0000U

Transmit interrupt empty.

enumerator SCI_FIFO_TX1 = 0x0001U

Transmit interrupt 1/16 full.

enumerator SCI_FIFO_TX2 = 0x0002U

Transmit interrupt 2/16 full.

enumerator SCI_FIFO_TX3 = 0x0003U

Transmit interrupt 3/16 full.

enumerator SCI_FIFO_TX4 = 0x0004U

Transmit interrupt 4/16 full.

enumerator SCI_FIFO_TX5 = 0x0005U

Transmit interrupt 5/16 full.

enumerator SCI_FIFO_TX6 = 0x0006U

Transmit interrupt 6/16 full.

enumerator SCI_FIFO_TX7 = 0x0007U

Transmit interrupt 7/16 full.

enumerator SCI_FIFO_TX8 = 0x0008U

Transmit interrupt 8/16 full.

enumerator SCI_FIFO_TX9 = 0x0009U

Transmit interrupt 9/16 full.

enumerator SCI_FIFO_TX10 = 0x000AU

Transmit interrupt 10/16 full.

enumerator SCI_FIFO_TX11 = 0x000BU

Transmit interrupt 11/16 full.

enumerator SCI_FIFO_TX12 = 0x000CU

Transmit interrupt 12/16 full.

enumerator SCI_FIFO_TX13 = 0x000DU

Transmit interrupt 13/16 full.

enumerator SCI_FIFO_TX14 = 0x000EU

Transmit interrupt 14/16 full.

enumerator SCI_FIFO_TX15 = 0x000FU

Transmit interrupt 15/16 full.

enumerator SCI_FIFO_TX16 = 0x0010U

Transmit interrupt full.

enum SCI_RxFIFOLevel

Values that can be passed to SCI_setFIFOInterruptLevel() as the rxLevel parameter and returned by SCI_getFIFOInterruptLevel() and SCI_getRxFIFOStatus().

Values:

enumerator SCI_FIFO_RX0 = 0x0000U

Receive interrupt empty.

enumerator SCI_FIFO_RX1 = 0x0001U

Receive interrupt 1/16 full.

enumerator SCI_FIFO_RX2 = 0x0002U

Receive interrupt 2/16 full.

enumerator SCI_FIFO_RX3 = 0x0003U

Receive interrupt 3/16 full.

enumerator SCI_FIFO_RX4 = 0x0004U

Receive interrupt 4/16 full.

enumerator SCI_FIFO_RX5 = 0x0005U

Receive interrupt 5/16 full.

enumerator SCI_FIFO_RX6 = 0x0006U

Receive interrupt 6/16 full.

enumerator SCI_FIFO_RX7 = 0x0007U

Receive interrupt 7/16 full.

enumerator SCI_FIFO_RX8 = 0x0008U

Receive interrupt 8/16 full.

enumerator SCI_FIFO_RX9 = 0x0009U

Receive interrupt 9/16 full.

enumerator SCI_FIFO_RX10 = 0x000AU

Receive interrupt 10/16 full.

enumerator SCI_FIFO_RX11 = 0x000BU

Receive interrupt 11/16 full.

enumerator SCI_FIFO_RX12 = 0x000CU

Receive interrupt 12/16 full.

enumerator SCI_FIFO_RX13 = 0x000DU

Receive interrupt 13/16 full.

enumerator SCI_FIFO_RX14 = 0x000EU

Receive interrupt 14/16 full.

enumerator SCI_FIFO_RX15 = 0x000FU

Receive interrupt 15/16 full.

enumerator SCI_FIFO_RX16 = 0x0010U

Receive interrupt full.

Functions

void SCI_setParityMode(uint32_t base, SCI_ParityType parity)

Sets the type of parity.

Sets the type of parity to use for transmitting and expect when receiving. The

parity parameter must be one of the following: SCI_CONFIG_PAR_NONE, SCI_CONFIG_PAR_EVEN, SCI_CONFIG_PAR_ODD.
Parameters
  • base: is the base address of the SCI port.

  • parity: specifies the type of parity to use.

Return

None.

SCI_ParityType SCI_getParityMode(uint32_t base)

Gets the type of parity currently being used.

This function gets the type of parity used for transmitting data and expected when receiving data.

Parameters
  • base: is the base address of the SCI port.

Return

Returns the current parity settings, specified as one of the following: SCI_CONFIG_PAR_NONE, SCI_CONFIG_PAR_EVEN, SCI_CONFIG_PAR_ODD.

void SCI_setAddrMultiProcessorMode(uint32_t base)

Sets the multiprocessor protocol to address-bit mode.

This function sets the multi-processor protocol to address-bit mode.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_setIdleMultiProcessorMode(uint32_t base)

Sets the multiprocessor protocol to idle-line mode.

This function sets the multi-processor protocol to idle-line protocol.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_lockAutobaud(uint32_t base)

Locks Autobaud.

This function performs an autobaud lock for the SCI.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_setFIFOInterruptLevel(uint32_t base, SCI_TxFIFOLevel txLevel, SCI_RxFIFOLevel rxLevel)

Sets the FIFO interrupt level at which interrupts are generated.

This function sets the FIFO level at which transmit and receive interrupts are generated.

Parameters
  • base: is the base address of the SCI port.

  • txLevel: is the transmit FIFO interrupt level, specified as one of the following: SCI_FIFO_TX0, SCI_FIFO_TX1, SCI_FIFO_TX2, … or SCI_FIFO_TX16.

  • rxLevel: is the receive FIFO interrupt level, specified as one of the following SCI_FIFO_RX0, SCI_FIFO_RX1, SCI_FIFO_RX2, … or SCI_FIFO_RX16.

Return

None.

void SCI_getFIFOInterruptLevel(uint32_t base, SCI_TxFIFOLevel *txLevel, SCI_RxFIFOLevel *rxLevel)

Gets the FIFO interrupt level at which interrupts are generated.

This function gets the FIFO level at which transmit and receive interrupts are generated.

Parameters
  • base: is the base address of the SCI port.

  • txLevel: is a pointer to storage for the transmit FIFO interrupt level, returned as one of the following: SCI_FIFO_TX0, SCI_FIFO_TX1, SCI_FIFO_TX2, … or SCI_FIFO_TX16.

  • rxLevel: is a pointer to storage for the receive FIFO interrupt level, returned as one of the following: SCI_FIFO_RX0, SCI_FIFO_RX1, SCI_FIFO_RX2, … or SCI_FIFO_RX16.

Return

None.

void SCI_getConfig(uint32_t base, uint32_t lspclkHz, uint32_t *baud, uint32_t *config)

Gets the current configuration of a SCI.

The baud rate and data format for the SCI is determined, given an explicitly provided peripheral clock (hence the ExpClk suffix). The returned baud rate is the actual baud rate; it may not be the exact baud rate requested or an `

official’ baud rate. The data format returned in config is enumerated the same as the config parameter of SCI_setConfig().
Parameters
  • base: is the base address of the SCI port.

  • lspclkHz: is the rate of the clock supplied to the SCI module. This is the LSPCLK.

  • baud: is a pointer to storage for the baud rate.

  • config: is a pointer to storage for the data format.

The peripheral clock is the low speed peripheral clock. This will be the value returned by SysCtl_getLowSeedClock(), or it can be explicitly hard coded if it is constant and known (to save the code/execution overhead of a call to SysCtl_getLowSpeedClock()).

Return

None.

void SCI_enableModule(uint32_t base)

Enables transmitting and receiving.

Enables SCI by taking SCI out of the software reset. Sets the TXENA, and RXENA bits which enables transmit and receive.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_disableModule(uint32_t base)

Disables transmitting and receiving.

Clears the SCIEN, TXE, and RXE bits. The user should ensure that all the data has been sent before disable the module during transmission.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_enableTxModule(uint32_t base)

Enables transmitting.

Enables SCI by taking SCI out of the software reset. Sets the TXENA bit which enables transmit.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_disableTxModule(uint32_t base)

Disables transmitting.

Disables SCI by taking SCI out of the software reset. Clears the TXENA bit which disables transmit.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_enableRxModule(uint32_t base)

Enables receiving.

Enables SCI by taking SCI out of the software reset. Sets the RXENA bit which enables receive.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_disableRxModule(uint32_t base)

Disables receiving.

Disables SCI by taking SCI out of the software reset. Clears the RXENA bit which disables receive.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_enableSleepMode(uint32_t base)

Enables Sleep Mode

Enables the sleep mode in SCI by setting the SLEEP bit in SCICTL1 register

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_disableSleepMode(uint32_t base)

Disables Sleep Mode

Disables the sleep mode in SCI by clearing the SLEEP bit in SCICTL1 register

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_enableFIFO(uint32_t base)

Enables the transmit and receive FIFOs.

This functions enables the transmit and receive FIFOs in the SCI.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_disableFIFO(uint32_t base)

Disables the transmit and receive FIFOs.

This functions disables the transmit and receive FIFOs in the SCI.

Parameters
  • base: is the base address of the SCI port.

Return

None.

bool SCI_isFIFOEnabled(uint32_t base)

Determines if the FIFO enhancement is enabled.

This function returns a flag indicating whether or not the FIFO enhancement is enabled.

Parameters
  • base: is the base address of the SCI port.

Return

Returns true if the FIFO enhancement is enabled or false if the FIFO enhancement is disabled.

void SCI_resetRxFIFO(uint32_t base)

Resets the receive FIFO.

This functions resets the receive FIFO of the SCI.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_resetTxFIFO(uint32_t base)

Resets the transmit FIFO.

This functions resets the transmit FIFO of the SCI.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_resetChannels(uint32_t base)

Resets the SCI Transmit and Receive Channels

This functions resets transmit and receive channels in the SCI.

Parameters
  • base: is the base address of the SCI port.

Return

None.

bool SCI_isDataAvailableNonFIFO(uint32_t base)

Determines if there are any characters in the receive buffer when the FIFO enhancement is not enabled.

This function returns a flag indicating whether or not there is data available in the receive buffer.

Parameters
  • base: is the base address of the SCI port.

Return

Returns true if there is data in the receive buffer or false if there is no data in the receive buffer.

bool SCI_isSpaceAvailableNonFIFO(uint32_t base)

Determines if there is any space in the transmit buffer when the FIFO enhancement is not enabled.

This function returns a flag indicating whether or not there is space available in the transmit buffer when not using the FIFO enhancement.

Parameters
  • base: is the base address of the SCI port.

Return

Returns true if there is space available in the transmit buffer or false if there is no space available in the transmit buffer.

SCI_TxFIFOLevel SCI_getTxFIFOStatus(uint32_t base)

Get the transmit FIFO status

This functions gets the current number of words in the transmit FIFO.

Parameters
  • base: is the base address of the SCI port.

Return

Returns the current number of words in the transmit FIFO specified as one of the following: SCI_FIFO_TX0, SCI_FIFO_TX1, SCI_FIFO_TX2, SCI_FIFO_TX3 SCI_FIFO_TX4, …, or SCI_FIFO_TX16

SCI_RxFIFOLevel SCI_getRxFIFOStatus(uint32_t base)

Get the receive FIFO status

This functions gets the current number of words in the receive FIFO.

Parameters
  • base: is the base address of the SCI port.

Return

Returns the current number of words in the receive FIFO specified as one of the following: SCI_FIFO_RX0, SCI_FIFO_RX1, SCI_FIFO_RX2, SCI_FIFO_RX3 SCI_FIFO_RX4, …, or SCI_FIFO_RX16

bool SCI_isTransmitterBusy(uint32_t base)

Determines whether the SCI transmitter is busy or not.

Allows the caller to determine whether all transmitted bytes have cleared the transmitter hardware when the FIFO is not enabled. When the FIFO is enabled, this function allows the caller to determine whether there is any data in the FIFO.

Parameters
  • base: is the base address of the SCI port.

Without the FIFO enabled, if false is returned, the transmit buffer and shift registers are empty and the transmitter is not busy. With the FIFO enabled, if false is returned, the FIFO is empty. This does not necessarily mean that the transmitter is not busy. The empty FIFO does not reflect the status of the transmitter shift register. The FIFO may be empty while the transmitter is still transmitting data.

Return

Returns true if the SCI is transmitting or false if transmissions are complete.

void SCI_writeCharBlockingFIFO(uint32_t base, uint16_t data)

Waits to send a character from the specified port when the FIFO enhancement is enabled.

Sends the character

data to the transmit buffer for the specified port. If there is no space available in the transmit FIFO, this function waits until there is space available before returning. data is a uint16_t but only 8 bits are written to the SCI port. SCI only transmits 8 bit characters.
Parameters
  • base: is the base address of the SCI port.

  • data: is the character to be transmitted.

Return

None.

void SCI_writeCharBlockingNonFIFO(uint32_t base, uint16_t data)

Waits to send a character from the specified port.

Sends the character

data to the transmit buffer for the specified port. If there is no space available in the transmit buffer, or the transmit FIFO if it is enabled, this function waits until there is space available before returning. data is a uint16_t but only 8 bits are written to the SCI port. SCI only transmits 8 bit characters.
Parameters
  • base: is the base address of the SCI port.

  • data: is the character to be transmitted.

Return

None.

void SCI_writeCharNonBlocking(uint32_t base, uint16_t data)

Sends a character to the specified port.

Writes the character

data to the transmit buffer for the specified port. This function does not block and only writes to the transmit buffer. The user should use SCI_isSpaceAvailableNonFIFO() or SCI_getTxFIFOStatus() to determine if the transmit buffer or FIFO have space available. data is a uint16_t but only 8 bits are written to the SCI port. SCI only transmits 8 bit characters.
Parameters
  • base: is the base address of the SCI port.

  • data: is the character to be transmitted.

Return

None.

uint16_t SCI_getRxStatus(uint32_t base)

Gets current receiver status flags.

This function returns the current receiver status flags. The returned error flags are equivalent to the error bits returned via the previous reading or receiving of a character with the exception that the overrun error is set immediately the overrun occurs rather than when a character is next read.

Parameters
  • base: is the base address of the SCI port.

Return

Returns a bitwise OR combination of the receiver status flags, SCI_RXSTATUS_WAKE, SCI_RXSTATUS_PARITY, SCI_RXSTATUS_OVERRUN, SCI_RXSTATUS_FRAMING, SCI_RXSTATUS_BREAK, SCI_RXSTATUS_READY, and SCI_RXSTATUS_ERROR.

uint16_t SCI_readCharBlockingFIFO(uint32_t base)

Waits for a character from the specified port when the FIFO enhancement is enabled.

Gets a character from the receive FIFO for the specified port. If there are no characters available, this function waits until a character is received before returning. Returns immediately in case of Error.

Parameters
  • base: is the base address of the SCI port.

Return

Returns the character read from the specified port as uint16_t or 0x0 in case of Error. The application must use SCI_getRxStatus() API to check if some error occurred before consuming the data

uint16_t SCI_readCharBlockingNonFIFO(uint32_t base)

Waits for a character from the specified port when the FIFO enhancement is not enabled.

Gets a character from the receive buffer for the specified port. If there is no characters available, this function waits until a character is received before returning.

Parameters
  • base: is the base address of the SCI port.

Return

Returns the character read from the specified port as uint16_t.

uint16_t SCI_readCharNonBlocking(uint32_t base)

Receives a character from the specified port.

Gets a character from the receive buffer for the specified port. This function does not block and only reads the receive buffer. The user should use

SCI_isDataAvailableNonFIFO() or SCI_getRxFIFOStatus() to determine if the receive buffer or FIFO have data available.
Parameters
  • base: is the base address of the SCI port.

Return

Returns uin16_t which is read from the receive buffer.

void SCI_performSoftwareReset(uint32_t base)

Performs a software reset of the SCI and Clears all reported receiver status flags.

This function performs a software reset of the SCI port. It affects the operating flags of the SCI, but it neither affects the configuration bits nor restores the reset values.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_enableLoopback(uint32_t base)

Enables Loop Back Test Mode

Enables the loop back test mode where the Tx pin is internally connected to the Rx pin.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_disableLoopback(uint32_t base)

Disables Loop Back Test Mode

Disables the loop back test mode where the Tx pin is no longer internally connected to the Rx pin.

Parameters
  • base: is the base address of the SCI port.

Return

None.

bool SCI_getOverflowStatus(uint32_t base)

Get the receive FIFO Overflow flag status

This functions gets the receive FIFO overflow flag status.

Parameters
  • base: is the base address of the SCI port.

Return

Returns true if overflow has occurred, else returned false if an overflow hasn’t occurred.

void SCI_clearOverflowStatus(uint32_t base)

Clear the receive FIFO Overflow flag status

This functions clears the receive FIFO overflow flag status.

Parameters
  • base: is the base address of the SCI port.

Return

None.

void SCI_setConfig(uint32_t base, uint32_t lspclkHz, uint32_t baud, uint32_t config)

Sets the configuration of a SCI.

This function configures the SCI for operation in the specified data format. The baud rate is provided in the

baud parameter and the data format in the config parameter.
Parameters
  • base: is the base address of the SCI port.

  • lspclkHz: is the rate of the clock supplied to the SCI module. This is the LSPCLK.

  • baud: is the desired baud rate.

  • config: is the data format for the port (number of data bits, number of stop bits, and parity).

The config parameter is the bitwise OR of three values: the number of data bits, the number of stop bits, and the parity. SCI_CONFIG_WLEN_8, SCI_CONFIG_WLEN_7, SCI_CONFIG_WLEN_6, SCI_CONFIG_WLEN_5, SCI_CONFIG_WLEN_4, SCI_CONFIG_WLEN_3, SCI_CONFIG_WLEN_2, and SCI_CONFIG_WLEN_1. Select from eight to one data bits per byte (respectively). SCI_CONFIG_STOP_ONE and SCI_CONFIG_STOP_TWO select one or two stop bits (respectively). SCI_CONFIG_PAR_NONE, SCI_CONFIG_PAR_EVEN, SCI_CONFIG_PAR_ODD, select the parity mode (no parity bit, even parity bit, odd parity bit respectively).

The peripheral clock is the low speed peripheral clock. This will be the value returned by SysCtl_getLowSpeedClock(), or it can be explicitly hard coded if it is constant and known (to save the code/execution overhead of a call to SysCtl_getLowSpeedClock()).

A baud rate divider (BRR) is used in this function to calculate the baud rate. The value of BRR is calculated in float and type casted as int to be fed in the SCIHBAUD and SCILBAUD registers. This conversion brings an error in the calculated baud rate and the requested. Error will be significant when operating at higher baud rates. The error is due to lower BRR integer value granularity at higher baud rates.

Return

None.

void SCI_writeCharArray(uint32_t base, const uint16_t *const array, uint16_t length)

Waits to send an array of characters from the specified port.

Sends the number of characters specified by

length, starting at the address array, out of the transmit buffer for the specified port. If there is no space available in the transmit buffer, or the transmit FIFO if it is enabled, this function waits until there is space available and length number of characters are transmitted before returning. array is a pointer to uint16_ts but only the least significant 8 bits are written to the SCI port. SCI only transmits 8 bit characters.
Parameters
  • base: is the base address of the SCI port.

  • array: is the address of the array of characters to be transmitted. It is pointer to the array of characters to be transmitted.

  • length: is the length of the array, or number of characters in the array to be transmitted.

Return

None.

void SCI_readCharArray(uint32_t base, uint16_t *const array, uint16_t length)

Waits to receive an array of characters from the specified port.

Receives an array of characters from the receive buffer for the specified port, and stores them as an array of characters starting at address

array. This function waits until the length number of characters are received before returning.
Parameters
  • base: is the base address of the SCI port.

  • array: is the address of the array of characters to be received. It is a pointer to the array of characters to be received.

  • length: is the length of the array, or number of characters in the array to be received.

Return

None.

void SCI_enableInterrupt(uint32_t base, uint32_t intFlags)

Enables individual SCI interrupt sources.

Enables the indicated SCI interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor.

Parameters
  • base: is the base address of the SCI port.

  • intFlags: is the bit mask of the interrupt sources to be enabled.

The intFlags parameter is the bitwise OR of any of the following:

  • SCI_INT_RXERR - RXERR Interrupt

  • SCI_INT_RXRDY_BRKDT - RXRDY/BRKDT Interrupt

  • SCI_INT_TXRDY - TXRDY Interrupt

  • SCI_INT_TXFF - TX FIFO Level Interrupt

  • SCI_INT_RXFF - RX FIFO Level Interrupt

  • SCI_INT_FE - Frame Error

  • SCI_INT_OE - Overrun Error

  • SCI_INT_PE - Parity Error

Return

None.

void SCI_disableInterrupt(uint32_t base, uint32_t intFlags)

Disables individual SCI interrupt sources.

Disables the indicated SCI interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor.

Parameters
  • base: is the base address of the SCI port.

  • intFlags: is the bit mask of the interrupt sources to be disabled.

The intFlags parameter has the same definition as the intFlags parameter to SCI_enableInterrupt().

Return

None.

uint32_t SCI_getInterruptStatus(uint32_t base)

Gets the current interrupt status.

Return

Returns the current interrupt status, enumerated as a bit field of values described in SCI_enableInterrupt().

Parameters
  • base: is the base address of the SCI port.

void SCI_clearInterruptStatus(uint32_t base, uint32_t intFlags)

Clears SCI interrupt sources.

The specified SCI interrupt sources are cleared, so that they no longer assert. This function must be called in the interrupt handler to keep the interrupt from being recognized again immediately upon exit.

Parameters
  • base: is the base address of the SCI port.

  • intFlags: is a bit mask of the interrupt sources to be cleared.

The intFlags parameter has the same definition as the intFlags parameter to SCI_enableInterrupt().

Return

None.

void SCI_setBaud(uint32_t base, uint32_t lspclkHz, uint32_t baud)

Sets SCI Baud rate.

This function configures the SCI for operation in the specified baud rate The baud rate is provided in the

baud parameter.
Parameters
  • base: is the base address of the SCI port.

  • lspclkHz: is the rate of the clock supplied to the SCI module. This is the LSPCLK.

  • baud: is the desired baud rate.

The peripheral clock is the low speed peripheral clock. This will be the value returned by SysCtl_getLowSpeedClock()

Return

None.

void SCI_setWakeFlag(uint32_t base)

Sets the SCI TXWAKE flag

This function sets the TXWAKE flag bit to indicate that the next frame is an address frame. TXWAKE bit controls selection of data-transmit feature based on which mode is selected from idle-line and address-bit.

Parameters
  • base: is the base address of the SCI port.

Return

None.

The code for this module is contained in driverlib/sci.c, with driverlib/sci.h containing the API declarations for use by applications.