![]() |
Kinetis SDK v.1.3 API Reference Manual
Rev. 0
Freescale Semiconductor, Inc.
|
#include <assert.h>#include <stdint.h>#include <stdbool.h>#include "fsl_device_registers.h"Macros | |
| #define | LPSCI_SHIFT (8U) |
Enumerations | |
| enum | lpsci_status_t { kStatus_LPSCI_Success = 0x00U, kStatus_LPSCI_Fail = 0x01U, kStatus_LPSCI_BaudRateCalculationError = 0x02U, kStatus_LPSCI_RxStandbyModeError = 0x03U, kStatus_LPSCI_ClearStatusFlagError = 0x04U, kStatus_LPSCI_TxNotDisabled = 0x05U, kStatus_LPSCI_RxNotDisabled = 0x06U, kStatus_LPSCI_TxOrRxNotDisabled = 0x07U, kStatus_LPSCI_TxBusy = 0x08U, kStatus_LPSCI_RxBusy = 0x09U, kStatus_LPSCI_NoTransmitInProgress = 0x0AU, kStatus_LPSCI_NoReceiveInProgress = 0x0BU, kStatus_LPSCI_Timeout = 0x0CU, kStatus_LPSCI_Initialized = 0x0DU, kStatus_LPSCI_NoDataToDeal = 0x0EU, kStatus_LPSCI_RxOverRun = 0x0FU } |
| Error codes for the LPSCI driver. More... | |
| enum | lpsci_stop_bit_count_t { kLpsciOneStopBit = 0U, kLpsciTwoStopBit = 1U } |
| LPSCI number of stop bits. More... | |
| enum | lpsci_parity_mode_t { kLpsciParityDisabled = 0x0U, kLpsciParityEven = 0x2U, kLpsciParityOdd = 0x3U } |
| LPSCI parity mode. More... | |
| enum | lpsci_bit_count_per_char_t { kLpsci8BitsPerChar = 0U, kLpsci9BitsPerChar = 1U } |
| LPSCI number of bits in a character. More... | |
| enum | lpsci_operation_config_t { kLpsciOperates = 0U, kLpsciStops = 1U } |
| LPSCI operation configuration constants. More... | |
| enum | lpsci_receiver_source_t { kLpsciLoopBack = 0U, kLpsciSingleWire = 1U } |
| LPSCI receiver source select mode. More... | |
| enum | lpsci_wakeup_method_t { kLpsciIdleLineWake = 0U, kLpsciAddrMarkWake = 1U } |
| LPSCI wakeup from standby method constants. More... | |
| enum | lpsci_idle_line_select_t { kLpsciIdleLineAfterStartBit = 0U, kLpsciIdleLineAfterStopBit = 1U } |
| LPSCI idle-line detect selection types. More... | |
| enum | lpsci_break_char_length_t { kLpsciBreakChar10BitMinimum = 0U, kLpsciBreakChar13BitMinimum = 1U } |
| LPSCI break character length settings for transmit/detect. More... | |
| enum | lpsci_singlewire_txdir_t { kLpsciSinglewireTxdirIn = 0U, kLpsciSinglewireTxdirOut = 1U } |
| LPSCI single-wire mode transmit direction. More... | |
| enum | lpsci_ir_tx_pulsewidth_t { kLpsciIrThreeSixteenthsWidth = 0U, kLpsciIrOneSixteenthWidth = 1U, kLpsciIrOneThirtysecondsWidth = 2U, kLpsciIrOneFourthWidth = 3U } |
| LPSCI infrared transmitter pulse width options. More... | |
| enum | lpsci_status_flag_t { kLpsciTxDataRegEmpty = 0U << LPSCI_SHIFT | UART0_S1_TDRE_SHIFT, kLpsciTxComplete = 0U << LPSCI_SHIFT | UART0_S1_TC_SHIFT, kLpsciRxDataRegFull = 0U << LPSCI_SHIFT | UART0_S1_RDRF_SHIFT, kLpsciIdleLineDetect = 0U << LPSCI_SHIFT | UART0_S1_IDLE_SHIFT, kLpsciRxOverrun = 0U << LPSCI_SHIFT | UART0_S1_OR_SHIFT, kLpsciNoiseDetect = 0U << LPSCI_SHIFT | UART0_S1_NF_SHIFT, kLpsciFrameErr = 0U << LPSCI_SHIFT | UART0_S1_FE_SHIFT, kLpsciParityErr = 0U << LPSCI_SHIFT | UART0_S1_PF_SHIFT, kLpsciLineBreakDetect = 1U << LPSCI_SHIFT | UART0_S2_LBKDIF_SHIFT, kLpsciRxActiveEdgeDetect = 1U << LPSCI_SHIFT | UART0_S2_RXEDGIF_SHIFT, kLpsciRxActive = 1U << LPSCI_SHIFT | UART0_S2_RAF_SHIFT } |
| LPSCI status flags. More... | |
| enum | lpsci_interrupt_t { kLpsciIntLinBreakDetect = 0U << LPSCI_SHIFT | UART0_BDH_LBKDIE_SHIFT, kLpsciIntRxActiveEdge = 0U << LPSCI_SHIFT | UART0_BDH_RXEDGIE_SHIFT, kLpsciIntTxDataRegEmpty = 1U << LPSCI_SHIFT | UART0_C2_TIE_SHIFT, kLpsciIntTxComplete = 1U << LPSCI_SHIFT | UART0_C2_TCIE_SHIFT, kLpsciIntRxDataRegFull = 1U << LPSCI_SHIFT | UART0_C2_RIE_SHIFT, kLpsciIntIdleLine = 1U << LPSCI_SHIFT | UART0_C2_ILIE_SHIFT, kLpsciIntRxOverrun = 2U << LPSCI_SHIFT | UART0_C3_ORIE_SHIFT, kLpsciIntNoiseErrFlag = 2U << LPSCI_SHIFT | UART0_C3_NEIE_SHIFT, kLpsciIntFrameErrFlag = 2U << LPSCI_SHIFT | UART0_C3_FEIE_SHIFT, kLpsciIntParityErrFlag = 2U << LPSCI_SHIFT | UART0_C3_PEIE_SHIFT } |
| LPSCI interrupt configuration structure; default settings are 0 (disabled). More... | |
Functions | |
LPSCI Common Configurations | |
| void | LPSCI_HAL_Init (UART0_Type *base) |
| Initializes the LPSCI controller. More... | |
| static void | LPSCI_HAL_EnableTransmitter (UART0_Type *base) |
| Enables the LPSCI transmitter. More... | |
| static void | LPSCI_HAL_DisableTransmitter (UART0_Type *base) |
| Disables the LPSCI transmitter. More... | |
| static bool | LPSCI_HAL_IsTransmitterEnabled (UART0_Type *base) |
| Gets the LPSCI transmitter enabled/disabled configuration setting. More... | |
| static void | LPSCI_HAL_EnableReceiver (UART0_Type *base) |
| Enables the LPSCI receiver. More... | |
| static void | LPSCI_HAL_DisableReceiver (UART0_Type *base) |
| Disables the LPSCI receiver. More... | |
| static bool | LPSCI_HAL_IsReceiverEnabled (UART0_Type *base) |
| Gets the LPSCI receiver enabled/disabled configuration setting. More... | |
| lpsci_status_t | LPSCI_HAL_SetBaudRate (UART0_Type *base, uint32_t sourceClockInHz, uint32_t baudRate) |
| Configures the LPSCI baud rate. More... | |
| void | LPSCI_HAL_SetBaudRateDivisor (UART0_Type *base, uint16_t baudRateDivisor) |
| Sets the LPSCI baud rate modulo divisor value. More... | |
| static void | LPSCI_HAL_SetBitCountPerChar (UART0_Type *base, lpsci_bit_count_per_char_t bitCountPerChar) |
| Configures the number of bits per character in the LPSCI controller. More... | |
| void | LPSCI_HAL_SetParityMode (UART0_Type *base, lpsci_parity_mode_t parityMode) |
| Configures the parity mode in the LPSCI controller. More... | |
LPSCI Interrupts and DMA | |
| void | LPSCI_HAL_SetIntMode (UART0_Type *base, lpsci_interrupt_t interrupt, bool enable) |
| Configures the LPSCI module interrupts to enable/disable various interrupt sources. More... | |
| bool | LPSCI_HAL_GetIntMode (UART0_Type *base, lpsci_interrupt_t interrupt) |
| Returns whether the LPSCI module interrupts are enabled/disabled. More... | |
| static uint32_t | LPSCI_HAL_GetDataRegAddr (UART0_Type *base) |
| Gets the LPSCI transmit/receive data register address. More... | |
LPSCI Transfer Functions | |
| static void | LPSCI_HAL_Putchar (UART0_Type *base, uint8_t data) |
| This function allows the user to send an 8-bit character from the LPSCI data register. More... | |
| void | LPSCI_HAL_Putchar9 (UART0_Type *base, uint16_t data) |
| This function allows the user to send a 9-bit character from the LPSCI data register. More... | |
| void | LPSCI_HAL_Putchar10 (UART0_Type *base, uint16_t data) |
| This function allows the user to send a 10-bit character from the LPSCI data register. More... | |
| static void | LPSCI_HAL_Getchar (UART0_Type *base, uint8_t *readData) |
| This function gets a received 8-bit character from the LPSCI data register. More... | |
| void | LPSCI_HAL_Getchar9 (UART0_Type *base, uint16_t *readData) |
| This function gets a received 9-bit character from the LPSCI data register. More... | |
| void | LPSCI_HAL_Getchar10 (UART0_Type *base, uint16_t *readData) |
| This function gets a received 10-bit character from the LPSCI data register. More... | |
| void | LPSCI_HAL_SendDataPolling (UART0_Type *base, const uint8_t *txBuff, uint32_t txSize) |
| Sends out multiple bytes of data using the polling method. More... | |
| lpsci_status_t | LPSCI_HAL_ReceiveDataPolling (UART0_Type *base, uint8_t *rxBuff, uint32_t rxSize) |
| Receives multiple bytes of data using the polling method. More... | |
LPSCI Status Flags | |
| bool | LPSCI_HAL_GetStatusFlag (UART0_Type *base, lpsci_status_flag_t statusFlag) |
| Gets all LPSCI status flag states. More... | |
| lpsci_status_t | LPSCI_HAL_ClearStatusFlag (UART0_Type *base, lpsci_status_flag_t statusFlag) |
| Clears an individual and specific LPSCI status flag. More... | |
LPSCI Special Feature Configurations | |
| static void | LPSCI_HAL_SetWaitModeOperation (UART0_Type *base, lpsci_operation_config_t mode) |
| Configures the LPSCI to either operate or cease to operate in wait mode. More... | |
| static lpsci_operation_config_t | LPSCI_HAL_GetWaitModeOperation (UART0_Type *base) |
| Determines if the LPSCI operates or ceases to operate in wait mode. More... | |
| static void | LPSCI_HAL_SetLoopCmd (UART0_Type *base, bool enable) |
| Configures the LPSCI loopback operation. More... | |
| static void | LPSCI_HAL_SetReceiverSource (UART0_Type *base, lpsci_receiver_source_t source) |
| Configures the LPSCI single-wire operation. More... | |
| static void | LPSCI_HAL_SetTransmitterDir (UART0_Type *base, lpsci_singlewire_txdir_t direction) |
| Configures the LPSCI transmit direction while in single-wire mode. More... | |
| lpsci_status_t | LPSCI_HAL_PutReceiverInStandbyMode (UART0_Type *base) |
| Places the LPSCI receiver in standby mode. More... | |
| static void | LPSCI_HAL_PutReceiverInNormalMode (UART0_Type *base) |
| Places the LPSCI receiver in normal mode (disable standby mode operation). More... | |
| static bool | LPSCI_HAL_IsReceiverInStandby (UART0_Type *base) |
| Determines if the LPSCI receiver is currently in standby mode. More... | |
| static void | LPSCI_HAL_SetReceiverWakeupMethod (UART0_Type *base, lpsci_wakeup_method_t method) |
| Selects the LPSCI receiver wakeup method (idle-line or address-mark) from standby mode. More... | |
| static lpsci_wakeup_method_t | LPSCI_HAL_GetReceiverWakeupMethod (UART0_Type *base) |
| Gets the LPSCI receiver wakeup method (idle-line or address-mark) from standby mode. More... | |
| void | LPSCI_HAL_ConfigIdleLineDetect (UART0_Type *base, uint8_t idleLine, uint8_t rxWakeIdleDetect) |
| Configures the operation options of the LPSCI idle line detect. More... | |
| static void | LPSCI_HAL_SetBreakCharTransmitLength (UART0_Type *base, lpsci_break_char_length_t length) |
| Configures the LPSCI break character transmit length. More... | |
| static void | LPSCI_HAL_SetBreakCharDetectLength (UART0_Type *base, lpsci_break_char_length_t length) |
| Configures the LPSCI break character detect length. More... | |
| static void | LPSCI_HAL_SetBreakCharCmd (UART0_Type *base, bool enable) |
| Configures the LPSCI transmit send break character operation. More... | |
| void | LPSCI_HAL_SetMatchAddress (UART0_Type *base, bool matchAddrMode1, bool matchAddrMode2, uint8_t matchAddrValue1, uint8_t matchAddrValue2) |
| Configures the LPSCI match address mode control operation. More... | |