| PDL for FM0+ Version1.0 Peripheral Driverl Library for FM0+

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Defines | Typedefs | Enumerations | Functions | Variables
C:/pdl_v10/library/driver/mfs/mfs.h File Reference
`#include "mcu.h"`
`#include "pdl_user.h"`
Include dependency graph for mfs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures
struct | stc_mfs_fifo_config
| Mfs FIFO configuration. More...
struct | stc_uart_int_sel
| UART interrupt selection. More...
struct | stc_uart_int_cb
| UART interrupt callback function. More...
struct | stc_mfs_uart_config
| UART configuration structure. More...
struct | stc_csio_serial_timer
| CSIO serial timer configuration. More...
struct | stc_csio_cs
| CSIO chip selection configuration. More...
struct | stc_csio_int_sel
| CSIO interrupt selection. More...
struct | stc_csio_int_cb
| CSIO interrupt callback function. More...
struct | stc_mfs_csio_config
| CSIO configuration structure. More...
struct | stc_i2c_int_sel
| I2C interrupt selection. More...
struct | stc_i2c_int_cb
| I2C interrupt callback function. More...
struct | stc_mfs_i2c_config
| I2C configuration structure. More...
struct | stc_lin_int_sel
| LIN interrupt selection. More...
struct | stc_lin_int_cb
| LIN interrupt callback function. More...
struct | stc_mfs_lin_config
| LIN configuration structure. More...
struct | stc_mfsn
| MFS common instance structure. More...
struct | stc_mfs_intern_data
| MFS module internal data, storing internal information for each enabled MFS instance. More...
struct | stc_mfs_instance_data
| MFS instance data type. More...
## Defines
#define | stc_mfsn_uart_t FM0P_MFS_UART_TypeDef
#define | stc_mfsn_csio_t FM0P_MFS_CSIO_TypeDef
#define | stc_mfsn_i2c_t FM0P_MFS_I2C_TypeDef
#define | stc_mfsn_lin_t FM0P_MFS_LIN_TypeDef
#define | UART0 (*((volatile stc_mfsn_uart_t *) FM0P_MFS0_UART_BASE))
#define | UART1 (*((volatile stc_mfsn_uart_t *) FM0P_MFS1_UART_BASE))
#define | UART2 (*((volatile stc_mfsn_uart_t *) FM0P_MFS2_UART_BASE))
#define | UART3 (*((volatile stc_mfsn_uart_t *) FM0P_MFS3_UART_BASE))
#define | UART4 (*((volatile stc_mfsn_uart_t *) FM0P_MFS4_UART_BASE))
#define | UART5 (*((volatile stc_mfsn_uart_t *) FM0P_MFS5_UART_BASE))
#define | UART6 (*((volatile stc_mfsn_uart_t *) FM0P_MFS6_UART_BASE))
#define | UART7 (*((volatile stc_mfsn_uart_t *) FM0P_MFS7_UART_BASE))
#define | UART8 (*((volatile stc_mfsn_uart_t *) FM0P_MFS8_UART_BASE))
#define | UART9 (*((volatile stc_mfsn_uart_t *) FM0P_MFS9_UART_BASE))
#define | UART10 (*((volatile stc_mfsn_uart_t *) FM0P_MFS10_UART_BASE))
#define | UART11 (*((volatile stc_mfsn_uart_t *) FM0P_MFS11_UART_BASE))
#define | UART12 (*((volatile stc_mfsn_uart_t *) FM0P_MFS12_UART_BASE))
#define | UART13 (*((volatile stc_mfsn_uart_t *) FM0P_MFS13_UART_BASE))
#define | UART14 (*((volatile stc_mfsn_uart_t *) FM0P_MFS14_UART_BASE))
#define | UART15 (*((volatile stc_mfsn_uart_t *) FM0P_MFS15_UART_BASE))
#define | CSIO0 (*((volatile stc_mfsn_csio_t *) FM0P_MFS0_CSIO_BASE))
#define | CSIO1 (*((volatile stc_mfsn_csio_t *) FM0P_MFS1_CSIO_BASE))
#define | CSIO2 (*((volatile stc_mfsn_csio_t *) FM0P_MFS2_CSIO_BASE))
#define | CSIO3 (*((volatile stc_mfsn_csio_t *) FM0P_MFS3_CSIO_BASE))
#define | CSIO4 (*((volatile stc_mfsn_csio_t *) FM0P_MFS4_CSIO_BASE))
#define | CSIO5 (*((volatile stc_mfsn_csio_t *) FM0P_MFS5_CSIO_BASE))
#define | CSIO6 (*((volatile stc_mfsn_csio_t *) FM0P_MFS6_CSIO_BASE))
#define | CSIO7 (*((volatile stc_mfsn_csio_t *) FM0P_MFS7_CSIO_BASE))
#define | CSIO8 (*((volatile stc_mfsn_csio_t *) FM0P_MFS8_CSIO_BASE))
#define | CSIO9 (*((volatile stc_mfsn_csio_t *) FM0P_MFS9_CSIO_BASE))
#define | CSIO10 (*((volatile stc_mfsn_csio_t *) FM0P_MFS10_CSIO_BASE))
#define | CSIO11 (*((volatile stc_mfsn_csio_t *) FM0P_MFS11_CSIO_BASE))
#define | CSIO12 (*((volatile stc_mfsn_csio_t *) FM0P_MFS12_CSIO_BASE))
#define | CSIO13 (*((volatile stc_mfsn_csio_t *) FM0P_MFS13_CSIO_BASE))
#define | CSIO14 (*((volatile stc_mfsn_csio_t *) FM0P_MFS14_CSIO_BASE))
#define | CSIO15 (*((volatile stc_mfsn_csio_t *) FM0P_MFS15_CSIO_BASE))
#define | I2C0 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS0_I2C_BASE))
#define | I2C1 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS1_I2C_BASE))
#define | I2C2 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS2_I2C_BASE))
#define | I2C3 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS3_I2C_BASE))
#define | I2C4 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS4_I2C_BASE))
#define | I2C5 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS5_I2C_BASE))
#define | I2C6 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS6_I2C_BASE))
#define | I2C7 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS7_I2C_BASE))
#define | I2C8 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS8_I2C_BASE))
#define | I2C9 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS9_I2C_BASE))
#define | I2C10 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS10_I2C_BASE))
#define | I2C11 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS11_I2C_BASE))
#define | I2C12 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS12_I2C_BASE))
#define | I2C13 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS13_I2C_BASE))
#define | I2C14 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS14_I2C_BASE))
#define | I2C15 (*((volatile stc_mfsn_i2c_t *) FM0P_MFS15_I2C_BASE))
#define | LIN0 (*((volatile stc_mfsn_lin_t *) FM0P_MFS0_LIN_BASE))
#define | LIN1 (*((volatile stc_mfsn_lin_t *) FM0P_MFS1_LIN_BASE))
#define | LIN2 (*((volatile stc_mfsn_lin_t *) FM0P_MFS2_LIN_BASE))
#define | LIN3 (*((volatile stc_mfsn_lin_t *) FM0P_MFS3_LIN_BASE))
#define | LIN4 (*((volatile stc_mfsn_lin_t *) FM0P_MFS4_LIN_BASE))
#define | LIN5 (*((volatile stc_mfsn_lin_t *) FM0P_MFS5_LIN_BASE))
#define | LIN6 (*((volatile stc_mfsn_lin_t *) FM0P_MFS6_LIN_BASE))
#define | LIN7 (*((volatile stc_mfsn_lin_t *) FM0P_MFS7_LIN_BASE))
#define | LIN8 (*((volatile stc_mfsn_lin_t *) FM0P_MFS8_LIN_BASE))
#define | LIN9 (*((volatile stc_mfsn_lin_t *) FM0P_MFS9_LIN_BASE))
#define | LIN10 (*((volatile stc_mfsn_lin_t *) FM0P_MFS10_LIN_BASE))
#define | LIN11 (*((volatile stc_mfsn_lin_t *) FM0P_MFS11_LIN_BASE))
#define | LIN12 (*((volatile stc_mfsn_lin_t *) FM0P_MFS12_LIN_BASE))
#define | LIN13 (*((volatile stc_mfsn_lin_t *) FM0P_MFS13_LIN_BASE))
#define | LIN14 (*((volatile stc_mfsn_lin_t *) FM0P_MFS14_LIN_BASE))
#define | LIN15 (*((volatile stc_mfsn_lin_t *) FM0P_MFS15_LIN_BASE))
#define | MFS_INSTANCE_COUNT
#define | MFS0_DATA_REG_ADDR (uint32_t)(&FM0P_MFS0_UART->TDR)
#define | MFS1_DATA_REG_ADDR (uint32_t)(&FM0P_MFS1_UART->TDR)
#define | MFS2_DATA_REG_ADDR (uint32_t)(&FM0P_MFS2_UART->TDR)
#define | MFS3_DATA_REG_ADDR (uint32_t)(&FM0P_MFS3_UART->TDR)
#define | MFS4_DATA_REG_ADDR (uint32_t)(&FM0P_MFS4_UART->TDR)
#define | MFS5_DATA_REG_ADDR (uint32_t)(&FM0P_MFS5_UART->TDR)
#define | MFS6_DATA_REG_ADDR (uint32_t)(&FM0P_MFS6_UART->TDR)
#define | MFS7_DATA_REG_ADDR (uint32_t)(&FM0P_MFS7_UART->TDR)
#define | MFS8_DATA_REG_ADDR (uint32_t)(&FM0P_MFS8_UART->TDR)
#define | MFS9_DATA_REG_ADDR (uint32_t)(&FM0P_MFS9_UART->TDR)
#define | MFS10_DATA_REG_ADDR (uint32_t)(&FM0P_MFS10_UART->TDR)
#define | MFS11_DATA_REG_ADDR (uint32_t)(&FM0P_MFS11_UART->TDR)
#define | MFS12_DATA_REG_ADDR (uint32_t)(&FM0P_MFS12_UART->TDR)
#define | MFS13_DATA_REG_ADDR (uint32_t)(&FM0P_MFS13_UART->TDR)
#define | MFS14_DATA_REG_ADDR (uint32_t)(&FM0P_MFS14_UART->TDR)
#define | MFS15_DATA_REG_ADDR (uint32_t)(&FM0P_MFS15_UART->TDR)
## Typedefs
typedef enum en_mfs_fifo_sel | en_mfs_fifo_sel_t
| Mfs FIFO Selection.
typedef struct stc_mfs_fifo_config | stc_mfs_fifo_config_t
| Mfs FIFO configuration.
typedef enum en_mfs_fifo | en_mfs_fifo_t
| Mfs FIFO Number.
typedef enum en_mfs_uart_mode | en_uart_mode_t
| MFS UART mode.
typedef enum en_uart_data_len | en_uart_data_len_t
| UART data length.
typedef enum en_uart_parity | en_uart_parity_t
| UART parity format.
typedef enum en_uart_stop_bit | en_uart_stop_bit_t
| UART stop bits length.
typedef enum en_uart_data_dir | en_uart_data_dir_t
| UART data direction.
typedef enum en_uart_func | en_uart_func_t
| UART functions.
typedef struct stc_uart_int_sel | stc_uart_int_sel_t
| UART interrupt selection.
typedef struct stc_uart_int_cb | stc_uart_int_cb_t
| UART interrupt callback function.
typedef enum en_uart_status | en_uart_status_t
| UART status types.
typedef struct stc_mfs_uart_config | stc_mfs_uart_config_t
| UART configuration structure.
typedef enum en_csio_ms_mode | en_csio_ms_mode_t
| CSIO mode (Master/Slave)
typedef enum en_csio_act_mode | en_csio_act_mode_t
| CSIO active mode (Normal/SPI)
typedef enum en_csio_data_len | en_csio_data_len_t
| CSIO data length.
typedef enum en_csio_sync_wait_time | en_csio_sync_wait_time_t
| CSIO synchronous wait time.
typedef enum en_csio_data_dir | en_csio_data_dir_t
| CSIO bit direction.
typedef enum en_csio_timer_clk | en_csio_timer_clk_t
| CSIO serial timer clock division.
typedef struct stc_csio_serial_timer | stc_csio_serial_timer_t
| CSIO serial timer configuration.
typedef enum en_cs_pin_sel | en_cs_pin_sel_t
| CSIO chip selection pin.
typedef enum en_cs_pin_level | en_cs_pin_level_t
| CSIO chip selection pin level.
typedef enum en_cs_timing_clk | en_cs_timing_clk_t
| CSIO chip selection clock division.
typedef struct stc_csio_cs | stc_csio_cs_t
| CSIO chip selection configuration.
typedef enum en_csio_func | en_csio_func_t
| CSIO function.
typedef struct stc_csio_int_sel | stc_csio_int_sel_t
| CSIO interrupt selection.
typedef struct stc_csio_int_cb | stc_csio_int_cb_t
| CSIO interrupt callback function.
typedef enum en_csio_status | en_csio_status_t
| CSIO status types.
typedef struct stc_mfs_csio_config | stc_mfs_csio_config_t
| CSIO configuration structure.
typedef enum en_i2c_mode | en_i2c_mode_t
| I2C mode.
typedef enum en_i2c_ack | en_i2c_ack_t
| I2C ACK types.
typedef struct stc_i2c_int_sel | stc_i2c_int_sel_t
| I2C interrupt selection.
typedef struct stc_i2c_int_cb | stc_i2c_int_cb_t
| I2C interrupt callback function.
typedef enum en_i2c_status | en_i2c_status_t
| I2C status types.
typedef enum en_i2c_data_dir | en_i2c_data_dir_t
| I2C data direction(used in slave mode)
typedef struct stc_mfs_i2c_config | stc_mfs_i2c_config_t
| I2C configuration structure.
typedef enum en_lin_ms_mode | en_lin_ms_mode_t
| MFS LIN mode (Master/Slave)
typedef enum en_lin_stop_bit | en_lin_stop_bit_t
| LIN stop bit length.
typedef enum en_lin_break_length | en_lin_break_len_t
| Mfs Lin Break Generation Length (only applicable in LIN master mode)
typedef enum en_lin_delimiter_length | en_lin_delimiter_len_t
| Mfs Lin Break Delimiter Length (only applicable in LIN master mode)
typedef enum en_lin_func | en_lin_func_t
| LIN function.
typedef struct stc_lin_int_sel | stc_lin_int_sel_t
| LIN interrupt selection.
typedef struct stc_lin_int_cb | stc_lin_int_cb_t
| LIN interrupt callback function.
typedef enum en_lin_status | en_lin_status_t
| LIN status types.
typedef struct stc_mfs_lin_config | stc_mfs_lin_config_t
| LIN configuration structure.
typedef enum en_mfs_instance_index | en_mfs_instance_index_t
| Enumeration to define an index for each enabled MFS instance.
typedef struct stc_mfsn | stc_mfsn_t
| MFS common instance structure.
typedef enum en_mfs_mode | en_mfs_mode_t
| MFS mode.
typedef struct stc_mfs_intern_data | stc_mfs_intern_data_t
| MFS module internal data, storing internal information for each enabled MFS instance.
typedef struct stc_mfs_instance_data | stc_mfs_instance_data_t
| MFS instance data type.
## Enumerations
enum | en_mfs_fifo_sel { MfsTxFifo1RxFifo2 = 0u, MfsTxFifo2RxFifo1 = 1u }
| Mfs FIFO Selection. More...
enum | en_mfs_fifo { MfsFifo1 = 0u, MfsFifo2 = 1u }
| Mfs FIFO Number. More...
enum | en_mfs_uart_mode { UartNormal = 0u, UartMulti = 1u }
| MFS UART mode. More...
enum | en_uart_data_len { UartEightBits = 0u, UartFiveBits = 1u, UartSixBits = 2u, UartSevenBits = 3u, UartNineBits = 4u }
| UART data length. More...
enum | en_uart_parity { UartParityNone = 0u, UartParityEven = 2u, UartParityOdd = 3u }
| UART parity format. More...
enum | en_uart_stop_bit { UartOneStopBit = 0u, UartTwoStopBits = 1u, UartThreeStopBits = 2u, UartFourStopBits = 3u }
| UART stop bits length. More...
enum | en_uart_data_dir { UartDataLsbFirst = 0u, UartDataMsbFirst = 1u }
| UART data direction. More...
enum | en_uart_func { UartTx = 0u, UartRx = 1u }
| UART functions. More...
enum | en_uart_status { UartParityError = 0u, UartFrameError = 1u, UartOverrunError = 2u, UartRxFull = 3u, UartTxEmpty = 4u, UartTxIdle = 5u, UartTxFifoRequest = 6u }
| UART status types. More...
enum | en_csio_ms_mode { CsioMaster = 0, CsioSlave = 1 }
| CSIO mode (Master/Slave) More...
enum | en_csio_act_mode { CsioActNormalMode = 0u, CsioActSpiMode = 1u }
| CSIO active mode (Normal/SPI) More...
enum | en_csio_data_len { CsioFiveBits = 0u, CsioSixBits = 1u, CsioSevenBits = 2u, CsioEightBits = 3u, CsioNineBits = 4u, CsioTenBits = 5u, CsioElevenBits = 6u, CsioTwelveBits = 7u, CsioThirteenBits = 8u, CsioFourteenBits = 9u, CsioFifteenBits = 10u, CsioSixteenBits = 11u }
| CSIO data length. More...
enum | en_csio_sync_wait_time { CsioSyncWaitZero = 0u, CsioSyncWaitOne = 1u, CsioSyncWaitTwo = 2u, CsioSyncWaitThree = 3u }
| CSIO synchronous wait time. More...
enum | en_csio_data_dir { CsioDataLsbFirst = 0u, CsioDataMsbFirst = 1u }
| CSIO bit direction. More...
enum | en_csio_timer_clk { CsioTimerNoDiv = 0u, CsioTimerDiv2 = 1u, CsioTimerDiv4 = 2u, CsioTimerDiv8 = 3u, CsioTimerDiv16 = 4u, CsioTimerDiv32 = 5u, CsioTimerDiv64 = 6u, CsioTimerDiv128 = 7u, CsioTimerDiv256 = 8u }
| CSIO serial timer clock division. More...
enum | en_cs_pin_sel { CsPinScs0 = 0u, CsPinScs1 = 1u, CsPinScs2 = 2u, CsPinScs3 = 3u }
| CSIO chip selection pin. More...
enum | en_cs_pin_level { CsLowActive = 0u, CsHighActive = 1u }
| CSIO chip selection pin level. More...
enum | en_cs_timing_clk { CsClkNoDiv = 0u, CsClkDiv2 = 1u, CsClkDiv4 = 2u, CsClkDiv8 = 3u, CsClkDiv16 = 4u, CsClkDiv32 = 5u, CsClkDiv64 = 6u }
| CSIO chip selection clock division. More...
enum | en_csio_func { CsioTx = 0u, CsioRx = 1u, CsioSerialTimer = 2u, CsioCsErrOccur = 3u }
| CSIO function. More...
enum | en_csio_status { CsioOverrunError, CsioRxFull, CsioTxEmpty, CsioTxIdle, CsioTxFifoRequest, CsioCsErrIntFlag, CsioTimerIntFlag }
| CSIO status types. More...
enum | en_i2c_mode { I2cMaster = 0u, I2cSlave = 1u }
| I2C mode. More...
enum | en_i2c_ack { I2cAck = 0u, I2cNAck = 1u }
| I2C ACK types. More...
enum | en_i2c_status { I2cOverrunError = 0u, I2cRxFull = 1u, I2cTxEmpty = 2u, I2cTxIdle = 3u, I2cTxFifoRequest = 4u, I2cFirstByteDetect = 5u, I2cReservedByteDetect = 6u, I2cStopDetect = 7u, I2cBusStatus = 8u, I2cBusErr = 9u, I2cRxTxInt = 10u, I2cDevAddrMatch = 11u }
| I2C status types. More...
enum | en_i2c_data_dir { i2c_master_tx_slave_rx = 0u, i2c_slave_tx_master_rx = 1u }
| I2C data direction(used in slave mode) More...
enum | en_lin_ms_mode { LinMasterMode = 0u, LinSlaveMode = 1u }
| MFS LIN mode (Master/Slave) More...
enum | en_lin_stop_bit { LinOneStopBit = 0u, LinTwoStopBits = 1u, LinThreeStopBits = 2u, LinFourStopBits = 3u }
| LIN stop bit length. More...
enum | en_lin_break_length { LinBreakLength13 = 0u, LinBreakLength14 = 1u, LinBreakLength15 = 2u, LinBreakLength16 = 3u }
| Mfs Lin Break Generation Length (only applicable in LIN master mode) More...
enum | en_lin_delimiter_length { LinDelimiterLength1 = 0u, LinDelimiterLength2 = 1u, LinDelimiterLength3 = 2u, LinDelimiterLength4 = 3u }
| Mfs Lin Break Delimiter Length (only applicable in LIN master mode) More...
enum | en_lin_func { LinTx = 0u, LinRx = 1u }
| LIN function. More...
enum | en_lin_status { LinFrameError = 0u, LinOverrunError = 1u, LinRxFull = 2u, LinTxEmpty = 3u, LinTxIdle = 4u, LinBreakFlag = 5u, LinTxFifoRequest = 6u }
| LIN status types. More...
enum | en_mfs_instance_index { MfsInstanceIndexMfs0, MfsInstanceIndexMfs1, MfsInstanceIndexMfs2, MfsInstanceIndexMfs3, MfsInstanceIndexMfs4, MfsInstanceIndexMfs5, MfsInstanceIndexMfs6, MfsInstanceIndexMfs7, MfsInstanceIndexMfs8, MfsInstanceIndexMfs9, MfsInstanceIndexMfs10, MfsInstanceIndexMfs11, MfsInstanceIndexMfs12, MfsInstanceIndexMfs13, MfsInstanceIndexMfs14, MfsInstanceIndexMfs15, MfsInstanceIndexMax, MfsInstanceIndexUnknown = 0xFFu }
| Enumeration to define an index for each enabled MFS instance. More...
enum | en_mfs_mode { MfsInitMode = 0u, MfsUartMode = 1u, MfsCsioMode = 2u, MfsI2cMode = 3u, MfsLinMode = 4u }
| MFS mode. More...
## Functions
void | MfsUartIrqHandlerTx (volatile FM0P_MFS_UART_TypeDef *pstcUart, stc_mfs_intern_data_t *pstcMfsInternData)
| MFS transmit interrupt service routine.
void | MfsUartIrqHandlerRx (volatile FM0P_MFS_UART_TypeDef *pstcUart, stc_mfs_intern_data_t *pstcMfsInternData)
| UART receive interrupt service routine.
en_result_t | Mfs_Uart_EnableInt (volatile FM0P_MFS_UART_TypeDef *pstcUart, stc_uart_int_sel_t *pstcInt, stc_uart_int_cb_t *pstcIntCb)
| Enable UART interrupts.
en_result_t | Mfs_Uart_DisableInt (volatile FM0P_MFS_UART_TypeDef *pstcUart, stc_uart_int_sel_t *pstcInt)
| Disable UART interrupts.
en_result_t | Mfs_Uart_Init (volatile FM0P_MFS_UART_TypeDef *pstcUart, const stc_mfs_uart_config_t *pstcConfig)
| Initialization of a MFS module to activate as UART.
en_result_t | Mfs_Uart_DeInit (volatile FM0P_MFS_UART_TypeDef *pstcUart)
| Deinitialisation of a MFS module activating as UART.
en_result_t | Mfs_Uart_SetBaudRate (volatile FM0P_MFS_UART_TypeDef *pstcUart, uint32_t u32BaudRate)
| Set the baudrate of UART.
en_result_t | Mfs_Uart_EnableFunc (volatile FM0P_MFS_UART_TypeDef *pstcUart, en_uart_func_t enFunc)
| Enable UART functions.
en_result_t | Mfs_Uart_DisableFunc (volatile FM0P_MFS_UART_TypeDef *pstcUart, en_uart_func_t enFunc)
| Disable UART functions.
boolean_t | Mfs_Uart_GetStatus (volatile FM0P_MFS_UART_TypeDef *pstcUart, en_uart_status_t enStatus)
| Get status of UART according to status type.
en_result_t | Mfs_Uart_ClrStatus (volatile FM0P_MFS_UART_TypeDef *pstcUart, en_uart_status_t enStatus)
| Clear status of UART according to status type.
en_result_t | Mfs_Uart_SendData (volatile FM0P_MFS_UART_TypeDef *pstcUart, uint16_t u16Data)
| Write UART data buffer.
uint16_t | Mfs_Uart_ReceiveData (volatile FM0P_MFS_UART_TypeDef *pstcUart)
| Read UART data buffer.
en_result_t | Mfs_Uart_ResetFifo (volatile FM0P_MFS_UART_TypeDef *pstcUart, en_mfs_fifo_t enFifo)
| Reset UART FIFO.
en_result_t | Mfs_Uart_SetFifoCount (volatile FM0P_MFS_UART_TypeDef *pstcUart, en_mfs_fifo_t enFifo, uint8_t u8Count)
| Set UART FIFO count.
uint8_t | Mfs_Uart_GetFifoCount (volatile FM0P_MFS_UART_TypeDef *pstcUart, en_mfs_fifo_t enFifo)
| Get UART FIFO count.
void | MfsCsioIrqHandlerTx (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, stc_mfs_intern_data_t *pstcMfsInternData)
| CSIO transfer interrupt service routine.
void | MfsCsioIrqHandlerRx (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, stc_mfs_intern_data_t *pstcMfsInternData)
| CSIO receive interrupt service routine.
void | MfsCsioIrqHandlerStatus (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, stc_mfs_intern_data_t *pstcMfsInternData)
| CSIO status interrupt service routine.
en_result_t | Mfs_Csio_EnableInt (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, stc_csio_int_sel_t *pstcInt, stc_csio_int_cb_t *pstcIntCb)
| Enable CSIO interrupts.
en_result_t | Mfs_Csio_DisableInt (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, stc_csio_int_sel_t *pstcInt)
| Disable CSIO interrupts.
en_result_t | Mfs_Csio_Init (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, const stc_mfs_csio_config_t *pstcConfig)
| Initialization of a MFS module to activate as CSIO.
en_result_t | Mfs_Csio_DeInit (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio)
| Deinitialisation of a MFS module activating as CSIO.
en_result_t | Mfs_Csio_SetBaudRate (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, uint32_t u32BaudRate)
| Set the baudrate of CSIO.
en_result_t | Mfs_Csio_SetTimerCompareValue (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, uint16_t u16CompareValue)
| Set the compare value of CSIO serial timer.
en_result_t | Mfs_Csio_SetCsTransferByteCount (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, en_cs_pin_sel_t enCsPin, uint8_t u8ByteCnt)
| Set the transfer byte count of a selected chip selection pin.
en_result_t | Mfs_Csio_SetCsHoldStatus (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, boolean_t bHold)
| Set the hold status of chip selection pin.
en_result_t | Mfs_Csio_SetTimerTransferByteCount (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, uint8_t u8ByteCnt)
| Set the transfer byte count of CSIO serial timer.
en_result_t | Mfs_Csio_EnableFunc (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, en_csio_func_t enFunc)
| Enable CSIO functions.
en_result_t | Mfs_Csio_DisableFunc (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, en_csio_func_t enFunc)
| Disable CSIO functions.
boolean_t | Mfs_Csio_GetStatus (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, en_csio_status_t enStatus)
| Get status of CSIO according to status type.
en_result_t | Mfs_Csio_ClrStatus (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, en_csio_status_t enStatus)
| Clear status of CSIO according to status type.
en_result_t | Mfs_Csio_SendData (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, uint16_t u16Data, boolean_t bSotEn)
| Write CSIO data buffer.
uint16_t | Mfs_Csio_ReceiveData (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio)
| Read CSIO data buffer.
en_result_t | Mfs_Csio_ResetFifo (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, en_mfs_fifo_t enFifo)
| Reset CSIO FIFO.
en_result_t | Mfs_Csio_SetFifoCount (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, en_mfs_fifo_t enFifo, uint8_t u8Count)
| Set CSIO FIFO count.
uint8_t | Mfs_Csio_GetFifoCount (volatile FM0P_MFS_CSIO_TypeDef *pstcCsio, en_mfs_fifo_t enFifo)
| Get CSIO FIFO count.
void | MfsI2cIrqHandlerTx (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, stc_mfs_intern_data_t *pstcMfsInternData)
| I2C transfer interrupt service routine.
void | MfsI2cIrqHandlerRx (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, stc_mfs_intern_data_t *pstcMfsInternData)
| I2C receive interrupt service routine.
void | MfsI2cIrqHandlerStatus (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, stc_mfs_intern_data_t *pstcMfsInternData)
| I2C status interrupt service routine.
en_result_t | Mfs_I2c_EnableInt (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, stc_i2c_int_sel_t *pstcInt, stc_i2c_int_cb_t *pstcIntCb)
| Enable I2C interrupts.
en_result_t | Mfs_I2c_DisableInt (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, stc_i2c_int_sel_t *pstcInt)
| Disable I2C interrupts.
en_result_t | Mfs_I2c_Init (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, const stc_mfs_i2c_config_t *pstcConfig)
| Initialization of a MFS module to activate as I2C.
en_result_t | Mfs_I2c_DeInit (volatile FM0P_MFS_I2C_TypeDef *pstcI2c)
| Deinitialisation of a MFS module activating as I2C.
en_result_t | Mfs_I2c_GenerateStart (volatile FM0P_MFS_I2C_TypeDef *pstcI2c)
| Generate start signal of I2C.
en_result_t | Mfs_I2c_GenerateRestart (volatile FM0P_MFS_I2C_TypeDef *pstcI2c)
| Generate restart signal of I2C.
en_result_t | Mfs_I2c_GenerateStop (volatile FM0P_MFS_I2C_TypeDef *pstcI2c)
| Generate stop signal of I2C.
en_result_t | Mfs_I2c_SetBaudRate (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, uint32_t u32BaudRate)
| Set the baudrate of I2C.
en_result_t | Mfs_I2c_SendData (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, uint8_t u8Data)
| Write I2C data buffer.
uint8_t | Mfs_I2c_ReceiveData (volatile FM0P_MFS_I2C_TypeDef *pstcI2c)
| Read I2C data buffer.
en_result_t | Mfs_I2c_ConfigAck (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, en_i2c_ack_t enAck)
| Configure ACK signal sent to master.
en_i2c_ack_t | Mfs_I2c_GetAck (volatile FM0P_MFS_I2C_TypeDef *pstcI2c)
| Get the ACK signal from slave.
boolean_t | Mfs_I2c_GetStatus (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, en_i2c_status_t enStatus)
| Get status of I2C according to status type.
en_result_t | Mfs_I2c_ClrStatus (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, en_i2c_status_t enStatus)
| Clear status of I2C according to status type.
en_i2c_data_dir_t | Mfs_I2c_GetDataDir (volatile FM0P_MFS_I2C_TypeDef *pstcI2c)
| Get direction of I2C data in slave mode.
en_result_t | Mfs_I2c_ResetFifo (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, en_mfs_fifo_t enFifo)
| Reset I2C FIFO.
en_result_t | Mfs_I2c_SetFifoCount (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, en_mfs_fifo_t enFifo, uint8_t u8Count)
| Set I2C FIFO count.
uint8_t | Mfs_I2c_GetFifoCount (volatile FM0P_MFS_I2C_TypeDef *pstcI2c, en_mfs_fifo_t enFifo)
| Get I2C FIFO count.
void | MfsLinIrqHandlerTx (volatile FM0P_MFS_LIN_TypeDef *pstcLin, stc_mfs_intern_data_t *pstcMfsInternData)
| LIN transmit interrupt service routine.
void | MfsLinIrqHandlerRx (volatile FM0P_MFS_LIN_TypeDef *pstcLin, stc_mfs_intern_data_t *pstcMfsInternData)
| LIN receive interrupt service routine.
void | MfsLinIrqHandlerStatus (volatile FM0P_MFS_LIN_TypeDef *pstcLin, stc_mfs_intern_data_t *pstcMfsInternData)
| LIN status interrupt service routine.
en_result_t | Mfs_Lin_EnableInt (volatile FM0P_MFS_LIN_TypeDef *pstcLin, stc_lin_int_sel_t *pstcInt, stc_lin_int_cb_t *pstcIntCb)
| Enable LIN interrupts.
en_result_t | Mfs_Lin_DisableInt (volatile FM0P_MFS_LIN_TypeDef *pstcLin, stc_lin_int_sel_t *pstcInt)
| Disable LIN interrupts.
en_result_t | Mfs_Lin_Init (volatile FM0P_MFS_LIN_TypeDef *pstcLin, const stc_mfs_lin_config_t *pstcConfig)
| Initialization of a MFS module to activate as LIN.
en_result_t | Mfs_Lin_DeInit (volatile FM0P_MFS_LIN_TypeDef *pstcLin)
| Deinitialisation of a MFS module activating as LIN.
en_result_t | Mfs_Lin_SetBaudRate (volatile FM0P_MFS_LIN_TypeDef *pstcLin, uint32_t u32BaudRate)
| Set the baudrate of LIN.
en_result_t | Mfs_Lin_GenerateBreakField (volatile FM0P_MFS_LIN_TypeDef *pstcLin)
| Generate LIN break filed.
en_result_t | Mfs_Lin_EnableFunc (volatile FM0P_MFS_LIN_TypeDef *pstcLin, en_lin_func_t enFunc)
| Enable LIN functions.
en_result_t | Mfs_Lin_DisableFunc (volatile FM0P_MFS_LIN_TypeDef *pstcLin, en_lin_func_t enFunc)
| Disable LIN functions.
boolean_t | Mfs_Lin_GetStatus (volatile FM0P_MFS_LIN_TypeDef *pstcLin, en_lin_status_t enStatus)
| Get status of LIN according to status type.
en_result_t | Mfs_Lin_ClrStatus (volatile FM0P_MFS_LIN_TypeDef *pstcLin, en_lin_status_t enStatus)
| Clear status of LIN according to status type.
en_result_t | Mfs_Lin_SendData (volatile FM0P_MFS_LIN_TypeDef *pstcLin, uint8_t Data)
| Write LIN data buffer.
uint8_t | Mfs_Lin_ReceiveData (volatile FM0P_MFS_LIN_TypeDef *pstcLin)
| Read LIN data buffer.
en_result_t | Mfs_Lin_ResetFifo (volatile FM0P_MFS_LIN_TypeDef *pstcLin, en_mfs_fifo_t enFifo)
| Reset LIN FIFO.
en_result_t | Mfs_Lin_SetFifoCount (volatile FM0P_MFS_LIN_TypeDef *pstcLin, en_mfs_fifo_t enFifo, uint8_t u8Count)
| Set LIN FIFO count.
uint8_t | Mfs_Lin_GetFifoCount (volatile FM0P_MFS_LIN_TypeDef *pstcLin, en_mfs_fifo_t enFifo)
| Get LIN FIFO count.
## Variables
stc_mfs_instance_data_t | m_astcMfsInstanceDataLut [(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS0==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS1==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS2==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS3==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS4==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS5==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS6==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS7==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS8==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS9==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS10==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS11==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS12==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS13==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS14==PDL_ON)+(uint8_t)(PDL_PERIPHERAL_ENABLE_MFS15==PDL_ON)]
| Look-up table for all enabled MFS instances and their internal data.

## Detailed Description

Headerfile for MFS functions

History:

- 2014-03-07 1.0 Edison Zhang First version.
- 2014-03-10 1.1 Edison Zhang Update interrupt callback of I2C

Definition in file mfs.h.