复旦微魔方FM33FR0xx——FL库笔记-UART

一、UART初始化结构定义

typedef struct
{
    uint32_t clockSrc;				/*! 时钟源选择 */
    uint32_t baudRate; 				/*! 通信波特率 */
   	uint32_t dataWidth; 			/*! 数据宽度 */
   	uint32_t stopBits; 				/*! 停止位 */
    uint32_t parity;		 		/*! 奇偶校验位 */
    uint32_t transferDirection; 	/*! 传输反向 */
} FL_UART_InitTypeDef;
typedef struct
{
    uint32_t polarity;    			/*! 调制极性默认bit1调制 */
    uint32_t modulationDuty;    	/*! 红外调制占空比 */
    uint32_t modulationFrequency;   /*! 红外调制频率*/
} FL_UART_InfraRed_InitTypeDef;
typedef struct
{
    uint32_t outputClockFreqence;    /*! 卡时钟频率 */
    FL_FunState txAutoRetry;    	 /*! 接口发送失败后自动重装使能 */
    uint32_t retryCnt;   			 /*! 自动重装次数 */
    FL_FunState blockGuard;   		 /*!插入BGT使能 */
    uint32_t parity;    			 /*! 帧格式奇偶校验模式 */
    uint32_t rxGuardTime;    		 /*! 帧格式接收Guard时间 */
    uint32_t errorGuardTime;   		 /*! 帧格式错误Guard时间 */
    uint32_t errorSignalWidth;   	 /*! 帧错误信号长度 */
    FL_FunState rxAutoErrorSignal;   /*! 接收校验错误自动回发error signal使能 */
    uint32_t transferOrder;   		 /*! 传输BIT顺序 */
    uint32_t baud;    				 /*! 通讯速率 */
    uint32_t extraGuardTime;    	 /*! 额外发送Guard时间 */
} FL_UART_U7816_InitTypeDef;

二、输出函数

1、设置、获取红外极性

  • FL_UART_SetIRPolarity()
  • FL_UART_GetIRPolarity()
__STATIC_INLINE void FL_UART_SetIRPolarity(UART_COMMON_Type *UART_Common, uint32_t polarity)
{
    MODIFY_REG(UART_Common->IRCR, UART_IRCR_IRFLAG_Msk, polarity);
}
__STATIC_INLINE uint32_t FL_UART_GetIRPolarity(UART_COMMON_Type *UART_Common)
{
    return (uint32_t)(READ_BIT(UART_Common->IRCR, UART_IRCR_IRFLAG_Msk));
}

2、设置、获取红外调制占空比

  • FL_UART_WriteIRModulationDuty()
  • FL_UART_ReadIRModulationDuty()
__STATIC_INLINE void FL_UART_WriteIRModulationDuty(UART_COMMON_Type *UART_Common, uint32_t duty)
{
    MODIFY_REG(UART_Common->IRCR, (0xfU << 11U), (duty << 11U));
}
__STATIC_INLINE uint32_t FL_UART_ReadIRModulationDuty(UART_COMMON_Type *UART_Common)
{
    return (uint32_t)(READ_BIT(UART_Common->IRCR, (0xfU << 11U)) >> 11U);
}

3、设置、获取红外调制频率

  • FL_UART_WriteIRModulationFrequency()
  • FL_UART_ReadIRModulationFrequency()
__STATIC_INLINE void FL_UART_WriteIRModulationFrequency(UART_COMMON_Type *UART_Common, uint32_t freq)
{
    MODIFY_REG(UART_Common->IRCR, (0x7ffU << 0U), (freq << 0U));
}
__STATIC_INLINE uint32_t FL_UART_ReadIRModulationFrequency(UART_COMMON_Type *UART_Common)
{
    return (uint32_t)(READ_BIT(UART_Common->IRCR, (0x7ffU << 0U)) >> 0U);
}

4、设置、获取UART模式

  • FL_UART_SetUARTMode()
  • FL_UART_GetUARTMode()
__STATIC_INLINE void FL_UART_SetUARTMode(UART_Type *UARTx, uint32_t mode)
{
    MODIFY_REG(UARTx->MCR, UART_MCR_HDSEL_Msk, mode);
}
__STATIC_INLINE uint32_t FL_UART_GetUARTMode(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->MCR, UART_MCR_HDSEL_Msk));
}

5、设置、获取LIN模式

  • FL_UART_SetLINMode()
  • FL_UART_GetLINMode()
__STATIC_INLINE void FL_UART_SetLINMode(UART_Type *UARTx, uint32_t mode)
{
    MODIFY_REG(UARTx->MCR, UART_MCR_LINMD_Msk, mode);
}
__STATIC_INLINE uint32_t FL_UART_GetLINMode(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->MCR, UART_MCR_LINMD_Msk));
}

6、设置、获取模式

  • FL_UART_SetMode()
  • FL_UART_GetMode()
__STATIC_INLINE void FL_UART_SetMode(UART_Type *UARTx, uint32_t mode)
{
    MODIFY_REG(UARTx->MCR, UART_MCR_MODE_Msk, mode);
}
__STATIC_INLINE uint32_t FL_UART_GetMode(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->MCR, UART_MCR_MODE_Msk));
}

7、设置、获取低功耗唤醒时长

  • FL_UART_SetLINWkupLength()
  • FL_UART_GetLINWkupLength()
__STATIC_INLINE void FL_UART_SetLINWkupLength(UART_Type *UARTx, uint32_t Length)
{
    MODIFY_REG(UARTx->LINCR, (0xffU << 8U), (Length << 8U));
}
__STATIC_INLINE uint32_t FL_UART_GetLINWkupLength(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->LINCR, (0xffU << 8U)) >> 8U);
}

8、启动、禁用低功耗唤醒时长检测

  • FL_UART_EnableLINWkupDetect()
  • FL_UART_DisableLINWkupDetect()
__STATIC_INLINE void FL_UART_EnableLINWkupDetect(UART_Type *UARTx)
{
    SET_BIT(UARTx->LINCR, UART_LINCR_WKDET_EN_Msk);
}
__STATIC_INLINE void FL_UART_DisableLINWkupDetect(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->LINCR, UART_LINCR_WKDET_EN_Msk);
}

9、获取低功耗唤醒时长检测启用状态

  • FL_UART_IsEnabledLINWkupDetect()
__STATIC_INLINE uint32_t FL_UART_IsEnabledLINWkupDetect(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->LINCR, UART_LINCR_WKDET_EN_Msk) == UART_LINCR_WKDET_EN_Msk);
}

10、启用发送LIN中断信号

  • FL_UART_SendLINBreakSignal()
__STATIC_INLINE void FL_UART_SendLINBreakSignal(UART_Type *UARTx)
{
    SET_BIT(UARTx->LINCR, UART_LINCR_TX_BF_Msk);
}

11、启用发送LIN低功耗启动信号

  • FL_UART_SendLINWkupSignal()
__STATIC_INLINE void FL_UART_SendLINWkupSignal(UART_Type *UARTx)
{
    SET_BIT(UARTx->LINCR, UART_LINCR_TX_WKUP_Msk);
}

12、获取同步波特率

  • FL_UART_ReadSyncFiehuoldCounter()
__STATIC_INLINE uint32_t FL_UART_ReadSyncFieldCounter(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->LINBSR, (0xfffffU << 0U)) >> 0U);
}

13、获取串口波特率标志

  • FL_UART_IsActiveFlag_Busy()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_Busy(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_BUSY_Msk) == (UART_CSR_BUSY_Msk));
}

14、启用、禁用串口红外调制

  • FL_UART_EnableIRModulation()
  • FL_UART_DisableIRModulation()
__STATIC_INLINE void FL_UART_EnableIRModulation(UART_Type *UARTx)
{
    SET_BIT(UARTx->CSR, UART_CSR_TXIREN_Msk);
}
__STATIC_INLINE void FL_UART_DisableIRModulation(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->CSR, UART_CSR_TXIREN_Msk);
}

15、获取串口红外调制启用状态

  • FL_UART_IsEnabledIRModulation()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIRModulation(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_TXIREN_Msk) == UART_CSR_TXIREN_Msk);
}

16、启用、禁用串口接收超时功能

  • FL_UART_EnableRXTimeout()
  • FL_UART_DisableRXTimeout()
__STATIC_INLINE void FL_UART_EnableRXTimeout(UART_Type *UARTx)
{
    SET_BIT(UARTx->CSR, UART_CSR_RXTOEN_Msk);
}
__STATIC_INLINE void FL_UART_DisableRXTimeout(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->CSR, UART_CSR_RXTOEN_Msk);
}

17、获取串口接收超时功能使能状态

  • FL_UART_IsEnabledRXTimeout()
__STATIC_INLINE uint32_t FL_UART_IsEnabledRXTimeout(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_RXTOEN_Msk) == UART_CSR_RXTOEN_Msk);
}

18、开启、禁用U7816时钟输出

  • FL_UART_EnableU7816ClockOutput()
  • FL_UART_DisableU7816ClockOutput()
__STATIC_INLINE void FL_UART_EnableU7816ClockOutput(UART_Type *UARTx)
{
    SET_BIT(UARTx->CSR, UART_CSR_CKOEN_Msk);
}
__STATIC_INLINE void FL_UART_DisableU7816ClockOutput(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->CSR, UART_CSR_CKOEN_Msk);
}

19、获取U7816时钟输出使能状态

  • FL_UART_IsEnabledU7816ClockOutput()
__STATIC_INLINE uint32_t FL_UART_IsEnabledU7816ClockOutput(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_CKOEN_Msk) == UART_CSR_CKOEN_Msk);
}

20、设置、获取过采样模式

  • FL_UART_SetOverSampling()
  • FL_UART_GetOverSampling()
__STATIC_INLINE void FL_UART_SetOverSampling(UART_Type *UARTx, uint32_t mode)
{
    MODIFY_REG(UARTx->CSR, UART_CSR_OVSM_Msk, mode);
}
__STATIC_INLINE uint32_t FL_UART_GetOverSampling(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_OVSM_Msk));
}

21、启用、禁用串口引脚交换

  • FL_UART_EnablePinSwap()
  • FL_UART_DisablePinSwap()
__STATIC_INLINE void FL_UART_EnablePinSwap(UART_Type *UARTx)
{
    SET_BIT(UARTx->CSR, UART_CSR_IOSWAP_Msk);
}
__STATIC_INLINE void FL_UART_DisablePinSwap(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->CSR, UART_CSR_IOSWAP_Msk);
}

22、获取UART的引脚交换启用状态

  • FL_UART_IsEnabledPinSwap()
__STATIC_INLINE uint32_t FL_UART_IsEnabledPinSwap(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_IOSWAP_Msk) == UART_CSR_IOSWAP_Msk);
}

23、开启、禁用UART负边缘唤醒功能

  • FL_UART_EnableFallingEdgeWakeup()
__STATIC_INLINE void FL_UART_EnableFallingEdgeWakeup(UART_Type *UARTx)
{
    SET_BIT(UARTx->CSR, UART_CSR_NEWUP_Msk);
}
__STATIC_INLINE void FL_UART_DisableFallingEdgeWakeup(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->CSR, UART_CSR_NEWUP_Msk);
}

24、获取UART负边缘唤醒功能启用状态

  • FL_UART_IsEnabledFallingEdgeWakeup()
__STATIC_INLINE uint32_t FL_UART_IsEnabledFallingEdgeWakeup(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_NEWUP_Msk) == UART_CSR_NEWUP_Msk);
}

25、设置、获取UART DMA传输完成中断

  • FL_UART_SetTXIFMode()
  • FL_UART_GetTXIFMode()
__STATIC_INLINE void FL_UART_SetTXIFMode(UART_Type *UARTx, uint32_t mode)
{
    MODIFY_REG(UARTx->CSR, UART_CSR_DMATXIFCFG_Msk, mode);
}
__STATIC_INLINE uint32_t FL_UART_GetTXIFMode(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_DMATXIFCFG_Msk));
}

26、设置、获取UART传输位顺序

  • FL_UART_SetBitOrder()
  • FL_UART_GetBitOrder()
__STATIC_INLINE void FL_UART_SetBitOrder(UART_Type *UARTx, uint32_t order)
{
    MODIFY_REG(UARTx->CSR, UART_CSR_BITORD_Msk, order);
}
__STATIC_INLINE uint32_t FL_UART_GetBitOrder(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_BITORD_Msk));
}

27、设置、获取UART停止位长度

  • FL_UART_SetStopBitsWidth()
  • FL_UART_GetStopBitsWidth()
__STATIC_INLINE void FL_UART_SetStopBitsWidth(UART_Type *UARTx, uint32_t length)
{
    MODIFY_REG(UARTx->CSR, UART_CSR_STOPCFG_Msk, length);
}
__STATIC_INLINE uint32_t FL_UART_GetStopBitsWidth(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_STOPCFG_Msk));
}

28、设置、获取UART数据宽度

  • FL_UART_SetDataWidth()
  • FL_UART_GetDataWidth()
__STATIC_INLINE void FL_UART_SetDataWidth(UART_Type *UARTx, uint32_t dataWidth)
{
    MODIFY_REG(UARTx->CSR, UART_CSR_PDSEL_Msk, dataWidth);
}
__STATIC_INLINE uint32_t FL_UART_GetDataWidth(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_PDSEL_Msk));
}

29、设置、获取UART校验

  • FL_UART_SetParity()
  • FL_UART_GetParity()
__STATIC_INLINE void FL_UART_SetParity(UART_Type *UARTx, uint32_t parity)
{
    MODIFY_REG(UARTx->CSR, UART_CSR_PARITY_Msk, parity);
}
__STATIC_INLINE uint32_t FL_UART_GetParity(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_PARITY_Msk));
}

30、设置、获取UART接收极性

  • FL_UART_SetRXPolarity()
  • FL_UART_GetRXPolarity()
__STATIC_INLINE void FL_UART_SetRXPolarity(UART_Type *UARTx, uint32_t polarity)
{
    MODIFY_REG(UARTx->CSR, UART_CSR_RXPOL_Msk, polarity);
}
__STATIC_INLINE uint32_t FL_UART_GetRXPolarity(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_RXPOL_Msk));
}

31、设置、获取UART发送极性

  • FL_UART_SetTXPolarity()
  • FL_UART_GetTXPolarity()
__STATIC_INLINE void FL_UART_SetTXPolarity(UART_Type *UARTx, uint32_t polarity)
{
    MODIFY_REG(UARTx->CSR, UART_CSR_TXPOL_Msk, polarity);
}
__STATIC_INLINE uint32_t FL_UART_GetTXPolarity(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_TXPOL_Msk));
}

32、启用、禁用UART接收

  • FL_UART_EnableRX()
  • FL_UART_DisableRX()
__STATIC_INLINE void FL_UART_EnableRX(UART_Type *UARTx)
{
    SET_BIT(UARTx->CSR, UART_CSR_RXEN_Msk);
}
__STATIC_INLINE void FL_UART_DisableRX(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->CSR, UART_CSR_RXEN_Msk);
}

33、获取UART接收启用状态

  • FL_UART_IsEnabledRX()
__STATIC_INLINE uint32_t FL_UART_IsEnabledRX(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_RXEN_Msk) == UART_CSR_RXEN_Msk);
}

34、启用UART发送

  • FL_UART_EnableTX()
__STATIC_INLINE void FL_UART_EnableTX(UART_Type *UARTx)
{
    SET_BIT(UARTx->CSR, UART_CSR_TXEN_Msk);
}

35、禁用UART接收

  • FL_UART_DisableTX()
__STATIC_INLINE void FL_UART_DisableTX(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->CSR, UART_CSR_TXEN_Msk);
}

36、获取UART接收启用状态

  • FL_UART_IsEnabledTX()
__STATIC_INLINE uint32_t FL_UART_IsEnabledTX(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CSR, UART_CSR_TXEN_Msk) == UART_CSR_TXEN_Msk);
}

37、启用、禁用LIN同步场中断

  • FL_UART_EnableIT_LINSyncField()
  • FL_UART_DisableIT_LINSyncField()
__STATIC_INLINE void FL_UART_EnableIT_LINSyncField(UART_Type *UARTx)
{
    SET_BIT(UARTx->IER, UART_IER_LINSYNCIE_Msk);
}
__STATIC_INLINE void FL_UART_DisableIT_LINSyncField(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->IER, UART_IER_LINSYNCIE_Msk);
}

38、获取LIN同步字段中断使能状态

  • FL_UART_IsEnabledIT_LINSyncField()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_LINSyncField(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->IER, UART_IER_LINSYNCIE_Msk) == UART_IER_LINSYNCIE_Msk);
}

39、启用、禁用LIN同步间隔域中断

  • FL_UART_EnableIT_LINBreakField()
  • FL_UART_DisableIT_LINBreakField()
__STATIC_INLINE void FL_UART_EnableIT_LINBreakField(UART_Type *UARTx)
{
    SET_BIT(UARTx->IER, UART_IER_LINBIE_Msk);
}
__STATIC_INLINE void FL_UART_DisableIT_LINBreakField(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->IER, UART_IER_LINBIE_Msk);
}

40、获取LIN同步间隔域中断启用状态

  • FL_UART_IsEnabledIT_LINBreakField()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_LINBreakField(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->IER, UART_IER_LINBIE_Msk) == UART_IER_LINBIE_Msk);
}

41、启用、禁用LIN唤醒中断

  • FL_UART_EnableIT_LINWakeUp()
  • FL_UART_DisableIT_LINWakeUp()
__STATIC_INLINE void FL_UART_EnableIT_LINWakeUp(UART_Type *UARTx)
{
    SET_BIT(UARTx->IER, UART_IER_LINWKIE_Msk);
}
__STATIC_INLINE void FL_UART_DisableIT_LINWakeUp(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->IER, UART_IER_LINWKIE_Msk);
}

42、获取LIN唤醒中断使能状态

  • FL_UART_IsEnabledIT_LINWakeUp()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_LINWakeUp(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->IER, UART_IER_LINWKIE_Msk) == UART_IER_LINWKIE_Msk);
}

43、启用、禁用UART接收超时中断

  • FL_UART_EnableIT_RXTimeout()
  • FL_UART_DisableIT_RXTimeout()
__STATIC_INLINE void FL_UART_EnableIT_RXTimeout(UART_Type *UARTx)
{
    SET_BIT(UARTx->IER, UART_IER_RXTOIE_Msk);
}
__STATIC_INLINE void FL_UART_DisableIT_RXTimeout(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->IER, UART_IER_RXTOIE_Msk);
}

44、获取UART接收超时中断使能状态

  • FL_UART_IsEnabledIT_RXTimeout()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_RXTimeout(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->IER, UART_IER_RXTOIE_Msk) == UART_IER_RXTOIE_Msk);
}

45、启用、禁用UART接收错误中断

  • FL_UART_EnableIT_RXError()
  • FL_UART_DisableIT_RXError()
__STATIC_INLINE void FL_UART_EnableIT_RXError(UART_Type *UARTx)
{
    SET_BIT(UARTx->IER, UART_IER_RXERRIE_Msk);
}
__STATIC_INLINE void FL_UART_DisableIT_RXError(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->IER, UART_IER_RXERRIE_Msk);
}

46、获取UART接收错误中断使能状态

  • FL_UART_IsEnabledIT_RXError()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_RXError(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->IER, UART_IER_RXERRIE_Msk) == UART_IER_RXERRIE_Msk);
}

47、启用、禁用UART接收缓冲区完全中断

  • FL_UART_EnableIT_RXBuffFull()
  • FL_UART_DisableIT_RXBuffFull()
__STATIC_INLINE void FL_UART_EnableIT_RXBuffFull(UART_Type *UARTx)
{
    SET_BIT(UARTx->IER, UART_IER_RXBFIE_Msk);
}
__STATIC_INLINE void FL_UART_DisableIT_RXBuffFull(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->IER, UART_IER_RXBFIE_Msk);
}

48、获取UART接收缓冲区完全中断启用状态

  • FL_UART_IsEnabledIT_RXBuffFull()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_RXBuffFull(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->IER, UART_IER_RXBFIE_Msk) == UART_IER_RXBFIE_Msk);
}

49、启用、禁用UART下降沿唤醒中断

  • FL_UART_EnableIT_FallingEdgeWakeup()
  • FL_UART_DisableIT_FallingEdgeWakeup()
__STATIC_INLINE void FL_UART_EnableIT_FallingEdgeWakeup(UART_Type *UARTx)
{
    SET_BIT(UARTx->IER, UART_IER_NEWUPIE_Msk);
}
__STATIC_INLINE void FL_UART_DisableIT_FallingEdgeWakeup(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->IER, UART_IER_NEWUPIE_Msk);
}

50、获取UART下降沿唤醒中断使能状态

  • FL_UART_IsEnabledIT_FallingEdgeWakeup()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_FallingEdgeWakeup(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->IER, UART_IER_NEWUPIE_Msk) == UART_IER_NEWUPIE_Msk);
}

51、启用、禁用UART传输缓冲区空中断

  • FL_UART_EnableIT_TXBuffEmpty()
  • FL_UART_DisableIT_TXBuffEmpty()
__STATIC_INLINE void FL_UART_EnableIT_TXBuffEmpty(UART_Type *UARTx)
{
    SET_BIT(UARTx->IER, UART_IER_TXBEIE_Msk);
}
__STATIC_INLINE void FL_UART_DisableIT_TXBuffEmpty(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->IER, UART_IER_TXBEIE_Msk);
}

52、获取UART传输缓冲区空中断启用状态

  • FL_UART_IsEnabledIT_TXBuffEmpty()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_TXBuffEmpty(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->IER, UART_IER_TXBEIE_Msk) == UART_IER_TXBEIE_Msk);
}

53、启用、禁用UART传输移位寄存器空中断

  • FL_UART_EnableIT_TXShiftBuffEmpty()
  • FL_UART_DisableIT_TXShiftBuffEmpty()
__STATIC_INLINE void FL_UART_EnableIT_TXShiftBuffEmpty(UART_Type *UARTx)
{
    SET_BIT(UARTx->IER, UART_IER_TXSEIE_Msk);
}
__STATIC_INLINE void FL_UART_DisableIT_TXShiftBuffEmpty(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->IER, UART_IER_TXSEIE_Msk);
}

54、获取UART传输移位寄存器为空时中断启用状态

  • FL_UART_IsEnabledIT_TXShiftBuffEmpty()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_TXShiftBuffEmpty(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->IER, UART_IER_TXSEIE_Msk) == UART_IER_TXSEIE_Msk);
}

55、获取、清除LIN同步字段接收完成标志

  • FL_UART_IsActiveFlag_LINSyncFeildReceiveComplete()
  • FL_UART_ClearFlag_LINSyncFeildReceiveComplete()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_LINSyncFeildReceiveComplete(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_LINSYNCF_Msk) == (UART_ISR_LINSYNCF_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_LINSyncFeildReceiveComplete(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_LINSYNCF_Msk);
}

56、获取、清除LIN同步间隔域接收完成标志

  • FL_UART_IsActiveFlag_LINBreakFeildReceiveComplete()
  • FL_UART_ClearFlag_LINSyncBreakReceiveComplete()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_LINBreakFeildReceiveComplete(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_LINBF_Msk) == (UART_ISR_LINBF_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_LINSyncBreakReceiveComplete(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_LINBF_Msk);
}

57、获取、清除LIN唤醒信号标志

  • FL_UART_IsActiveFlag_LINDetectWakeUpSignal()
  • FL_UART_ClearFlag_LINDetectWakeUpSignal()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_LINDetectWakeUpSignal(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_LINWKDF_Msk) == (UART_ISR_LINWKDF_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_LINDetectWakeUpSignal(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_LINWKDF_Msk);
}

58、获取、清除LIN唤醒信号发送完成标志

  • FL_UART_IsActiveFlag_LINWakeUpSignalSendComplete()
  • FL_UART_ClearFlag_LINWakeUpSignalSendComplete()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_LINWakeUpSignalSendComplete(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_LINWKTF_Msk) == (UART_ISR_LINWKTF_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_LINWakeUpSignalSendComplete(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_LINWKTF_Msk);
}

59、获取、清除UART奇偶校验错误标志

  • FL_UART_IsActiveFlag_ParityError()
  • FL_UART_ClearFlag_ParityError()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_ParityError(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_PERR_Msk) == (UART_ISR_PERR_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_ParityError(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_PERR_Msk);
}

60、获取、清除UART帧错误标志

  • FL_UART_IsActiveFlag_FrameError()
  • FL_UART_ClearFlag_FrameError()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_FrameError(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_FERR_Msk) == (UART_ISR_FERR_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_FrameError(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_FERR_Msk);
}

61、获取、清除UART接收缓冲区溢出错误标志

  • FL_UART_IsActiveFlag_RXBuffOverflowError()
  • FL_UART_ClearFlag_RXBuffOverflowError()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_RXBuffOverflowError(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_OERR_Msk) == (UART_ISR_OERR_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_RXBuffOverflowError(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_OERR_Msk);
}

62、获取、清除UART接收超时标志

  • FL_UART_IsActiveFlag_RXBuffTimeout()
  • FL_UART_ClearFlag_RXBuffTimeout()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_RXBuffTimeout(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_RXTO_Msk) == (UART_ISR_RXTO_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_RXBuffTimeout(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_RXTO_Msk);
}

63、获取、清除UART接收缓冲区满标志

  • FL_UART_IsActiveFlag_RXBuffFull()
  • FL_UART_ClearFlag_RXBuffFull()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_RXBuffFull(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_RXBF_Msk) == (UART_ISR_RXBF_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_RXBuffFull(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_RXBF_Msk);
}

64、获取、清除UART下降沿唤醒标志

  • FL_UART_IsActiveFlag_FallingEdgeWakeup()
  • FL_UART_ClearFlag_FallingEdgeWakeup()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_FallingEdgeWakeup(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_NEWKF_Msk) == (UART_ISR_NEWKF_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_FallingEdgeWakeup(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_NEWKF_Msk);
}

65、获取、清除UART发送溢出错误标志

  • FL_UART_IsActiveFlag_TXBuffOverflow()
  • FL_UART_ClearFlag_TXBuffOverflow()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_TXBuffOverflow(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_TXOERR_Msk) == (UART_ISR_TXOERR_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_TXBuffOverflow(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_TXOERR_Msk);
}

66、获取UART传输缓冲区为空时标志

  • FL_UART_IsActiveFlag_TXBuffEmpty()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_TXBuffEmpty(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_TXBE_Msk) == (UART_ISR_TXBE_Msk));
}

67、获取、清除UART传输移位寄存器为空时标志

  • FL_UART_IsActiveFlag_TXShiftBuffEmpty()
  • FL_UART_ClearFlag_TXShiftBuffEmpty()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_TXShiftBuffEmpty(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->ISR, UART_ISR_TXSE_Msk) == (UART_ISR_TXSE_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_TXShiftBuffEmpty(UART_Type *UARTx)
{
    WRITE_REG(UARTx->ISR, UART_ISR_TXSE_Msk);
}

68、设置、获取UART传输延迟时长

  • FL_UART_WriteTXDelay()
  • FL_UART_ReadTXDelay()
__STATIC_INLINE void FL_UART_WriteTXDelay(UART_Type *UARTx, uint32_t time)
{
    MODIFY_REG(UARTx->TODR, (0xffU << 8U), (time << 8U));
}
__STATIC_INLINE uint32_t FL_UART_ReadTXDelay(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->TODR, (0xffU << 8U)) >> 8U);
}

69、设置、获取UART接收超时时长

  • FL_UART_WriteRXTimeout()
  • FL_UART_ReadRXTimeout()
__STATIC_INLINE void FL_UART_WriteRXTimeout(UART_Type *UARTx, uint32_t time)
{
    MODIFY_REG(UARTx->TODR, (0xffU << 0U), (time << 0U));
}
__STATIC_INLINE uint32_t FL_UART_ReadRXTimeout(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->TODR, (0xffU << 0U)) >> 0U);
}

70、UART接收、发送1字节的数据

  • FL_UART_ReadRXBuff()
  • FL_UART_WriteTXBuff()
__STATIC_INLINE uint32_t FL_UART_ReadRXBuff(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->RXBUF, (0x1ffU << 0U)) >> 0U);
}
__STATIC_INLINE void FL_UART_WriteTXBuff(UART_Type *UARTx, uint32_t data)
{
    MODIFY_REG(UARTx->TXBUF, (0x1ffU << 0U), (data << 0U));
}

71、设置、获取UART波特率

  • FL_UART_WriteBaudRate()
  • FL_UART_ReadBaudRate()
__STATIC_INLINE void FL_UART_WriteBaudRate(UART_Type *UARTx, uint32_t baudRate)
{
    MODIFY_REG(UARTx->BGR, (0xffffU << 0U), (baudRate << 0U));
}
__STATIC_INLINE uint32_t FL_UART_ReadBaudRate(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->BGR, (0xffffU << 0U)) >> 0U);
}

72、设置、获取U7816发送错误信号长度

  • FL_UART_SetU7816ErrorSignalWidth()
  • FL_UART_GetU7816ErrorSignalWidth()
__STATIC_INLINE void FL_UART_SetU7816ErrorSignalWidth(UART_Type *UARTx, uint32_t width)
{
    MODIFY_REG(UARTx->FFR, UART_FFR_ERSW_Msk, width);
}
__STATIC_INLINE uint32_t FL_UART_GetU7816ErrorSignalWidth(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->FFR, UART_FFR_ERSW_Msk));
}

73、设置、获取错误信号保护时间

  • FL_UART_SetU7816ErrorGuardTime()
  • FL_UART_GetU7816ErrorGuardTime()
__STATIC_INLINE void FL_UART_SetU7816ErrorGuardTime(UART_Type *UARTx, uint32_t config)
{
    MODIFY_REG(UARTx->FFR, UART_FFR_ERSGD_Msk, config);
}
__STATIC_INLINE uint32_t FL_UART_GetU7816ErrorGuardTime(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->FFR, UART_FFR_ERSGD_Msk));
}

74、开启、关闭U7816插入块保护时间功能

  • FL_UART_EnableU7816BlockGuardTime()
  • FL_UART_DisableU7816BlockGuardTime()
__STATIC_INLINE void FL_UART_EnableU7816BlockGuardTime(UART_Type *UARTx)
{
    SET_BIT(UARTx->FFR, UART_FFR_BGTEN_Msk);
}
__STATIC_INLINE void FL_UART_DisableU7816BlockGuardTime(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->FFR, UART_FFR_BGTEN_Msk);
}

75、获取U7816块保护时间开启状态

  • FL_UART_U7816IsEnabledBlockGuardTime()
__STATIC_INLINE uint32_t FL_UART_U7816IsEnabledBlockGuardTime(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->FFR, UART_FFR_BGTEN_Msk) == UART_FFR_BGTEN_Msk);
}

76、设置、获取U7816奇偶校验错误时重试次数

  • FL_UART_SetU7816RetryCount()
  • FL_UART_GetU7816RetryCount()
__STATIC_INLINE void FL_UART_SetU7816RetryCount(UART_Type *UARTx, uint32_t cnt)
{
    MODIFY_REG(UARTx->FFR, UART_FFR_REP_T_Msk, cnt);
}
__STATIC_INLINE uint32_t FL_UART_GetU7816RetryCount(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->FFR, UART_FFR_REP_T_Msk));
}

77、设置、获取U7816奇偶校验

  • FL_UART_SetU7816Parity()
  • FL_UART_GetU7816Parity()
__STATIC_INLINE void FL_UART_SetU7816Parity(UART_Type *UARTx, uint32_t parity)
{
    MODIFY_REG(UARTx->FFR, UART_FFR_PAR_Msk, parity);
}
__STATIC_INLINE uint32_t FL_UART_GetU7816Parity(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->FFR, UART_FFR_PAR_Msk));
}

78、设置U7816接收保护时间长度

  • FL_UART_SetU7816RXGuardTime()
  • FL_UART_GetU7816RXGuardTime()
__STATIC_INLINE void FL_UART_SetU7816RXGuardTime(UART_Type *UARTx, uint32_t config)
{
    MODIFY_REG(UARTx->FFR, UART_FFR_RFREN_Msk, config);
}
__STATIC_INLINE uint32_t FL_UART_GetU7816RXGuardTime(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->FFR, UART_FFR_RFREN_Msk));
}

79、设置、获取发生奇偶校验错误时U7816发送自动重试

  • FL_UART_EnableU7816TXParityErrorAutoRetry()
  • FL_UART_DisableU7816TXParityErrorAutoRetry()
__STATIC_INLINE void FL_UART_EnableU7816TXParityErrorAutoRetry(UART_Type *UARTx)
{
    SET_BIT(UARTx->FFR, UART_FFR_TREPEN_Msk);
}
__STATIC_INLINE void FL_UART_DisableU7816TXParityErrorAutoRetry(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->FFR, UART_FFR_TREPEN_Msk);
}

80、获取U7816 发送、接收发生奇偶校验错误时自动重试

  • FL_UART_U7816IsEnabledTXParityErrorAutoRetry()
  • FL_UART_EnableU7816RXParityErrorAutoRetry()
__STATIC_INLINE uint32_t FL_UART_U7816IsEnabledTXParityErrorAutoRetry(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->FFR, UART_FFR_TREPEN_Msk) == UART_FFR_TREPEN_Msk);
}
__STATIC_INLINE void FL_UART_EnableU7816RXParityErrorAutoRetry(UART_Type *UARTx)
{
    SET_BIT(UARTx->FFR, UART_FFR_RREPEN_Msk);
}

81、设置、获取U7816位序

  • FL_UART_SetU7816BitOrder()
  • FL_UART_GetU7816BitOrder()
__STATIC_INLINE void FL_UART_SetU7816BitOrder(UART_Type *UARTx, uint32_t order)
{
    MODIFY_REG(UARTx->FFR, UART_FFR_DICONV_Msk, order);
}
__STATIC_INLINE uint32_t FL_UART_GetU7816BitOrder(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->FFR, UART_FFR_DICONV_Msk));
}

82、设置、获取U7816超时保护时间

  • FL_UART_WriteU7816ExtraGuardTime()
  • FL_UART_ReadU7816ExtraGuardTime()
__STATIC_INLINE void FL_UART_WriteU7816ExtraGuardTime(UART_Type *UARTx, uint32_t config)
{
    MODIFY_REG(UARTx->EGTR, (0xffU << 0U), (config << 0U));
}
__STATIC_INLINE uint32_t FL_UART_ReadU7816ExtraGuardTime(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->EGTR, (0xffU << 0U)) >> 0U);
}

83、设置、获取U7816时钟划分

  • FL_UART_WriteU7816ClockDivision()
  • FL_UART_ReadU7816ClockDivision()
__STATIC_INLINE void FL_UART_WriteU7816ClockDivision(UART_Type *UARTx, uint32_t div)
{
    MODIFY_REG(UARTx->CODR, (0x1fU << 0U), (div << 0U));
}
__STATIC_INLINE uint32_t FL_UART_ReadU7816ClockDivision(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->CODR, (0x1fU << 0U)) >> 0U);
}

84、关闭、开启U7816接收完全中断功能

  • FL_UART_DisableIT_U7816RXComplete()
  • FL_UART_EnableIT_U7816RXComplete()
__STATIC_INLINE void FL_UART_DisableIT_U7816RXComplete(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->SCIER, UART_SCIER_RXIE_Msk);
}
__STATIC_INLINE void FL_UART_EnableIT_U7816RXComplete(UART_Type *UARTx)
{
    SET_BIT(UARTx->SCIER, UART_SCIER_RXIE_Msk);
}

85、获取U7816接收完整中断使能状态

  • FL_UART_IsEnabledIT_U7816RXComplete()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_U7816RXComplete(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCIER, UART_SCIER_RXIE_Msk) == UART_SCIER_RXIE_Msk);
}

86、关闭、开启U7816传输完全中断功能

  • FL_UART_DisableIT_U7816TXComplete()
  • FL_UART_EnableIT_U7816TXComplete()
__STATIC_INLINE void FL_UART_DisableIT_U7816TXComplete(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->SCIER, UART_SCIER_TXIE_Msk);
}
__STATIC_INLINE void FL_UART_EnableIT_U7816TXComplete(UART_Type *UARTx)
{
    SET_BIT(UARTx->SCIER, UART_SCIER_TXIE_Msk);
}

87、关闭、开启U7816线路状态中断功能

  • FL_UART_DisableIT_U7816Error()
  • FL_UART_EnableIT_U7816Error()
__STATIC_INLINE void FL_UART_DisableIT_U7816Error(UART_Type *UARTx)
{
    CLEAR_BIT(UARTx->SCIER, UART_SCIER_LSIE_Msk);
}
__STATIC_INLINE void FL_UART_EnableIT_U7816Error(UART_Type *UARTx)
{
    SET_BIT(UARTx->SCIER, UART_SCIER_LSIE_Msk);
}

88、获取U7816线路状态中断启用状态

  • FL_UART_IsEnabledIT_U7816Error()
__STATIC_INLINE uint32_t FL_UART_IsEnabledIT_U7816Error(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCIER, UART_SCIER_LSIE_Msk) == UART_SCIER_LSIE_Msk);
}

89、获取U7816等待重试标志

  • FL_UART_IsActiveFlag_U7816WaitRetry()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_U7816WaitRetry(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCISR, UART_SCISR_WAIT_RPT_Msk) == (UART_SCISR_WAIT_RPT_Msk));
}

90、获取U7816发送占线标志

  • FL_UART_IsActiveFlag_U7816TXBusy()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_U7816TXBusy(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCISR, UART_SCISR_TXBUSY_Msk) == (UART_SCISR_TXBUSY_Msk));
}

91、获取U7816接收占线标志

  • FL_UART_IsActiveFlag_U7816RXBusy()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_U7816RXBusy(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCISR, UART_SCISR_RXBUSY_Msk) == (UART_SCISR_RXBUSY_Msk));
}

92、获取、清除U7816发送奇偶校验错误标志

  • FL_UART_IsActiveFlag_U7816TXParityError()
  • FL_UART_ClearFlag_U7816TXParityError()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_U7816TXParityError(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCISR, UART_SCISR_TPARERR_Msk) == (UART_SCISR_TPARERR_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_U7816TXParityError(UART_Type *UARTx)
{
    WRITE_REG(UARTx->SCISR, UART_SCISR_TPARERR_Msk);
}

93、获取、清除U7816接收奇偶校验错误标志

  • FL_UART_IsActiveFlag_U7816RXParityError()
  • FL_UART_ClearFlag_U7816RXParityError()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_U7816RXParityError(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCISR, UART_SCISR_RPARERR_Msk) == (UART_SCISR_RPARERR_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_U7816RXParityError(UART_Type *UARTx)
{
    WRITE_REG(UARTx->SCISR, UART_SCISR_RPARERR_Msk);
}

94、获取、清除U7816接收帧错误标志

  • FL_UART_IsActiveFlag_U7816RXFrameError()
  • FL_UART_ClearFlag_U7816RXFrameError()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_U7816RXFrameError(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCISR, UART_SCISR_FRERR_Msk) == (UART_SCISR_FRERR_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_U7816RXFrameError(UART_Type *UARTx)
{
    WRITE_REG(UARTx->SCISR, UART_SCISR_FRERR_Msk);
}

95、获取、清除U7816接收溢出错误标志

  • FL_UART_IsActiveFlag_U7816RXOverflow()
  • FL_UART_ClearFlag_U7816RXOverflow()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_U7816RXOverflow(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCISR, UART_SCISR_OVERR_Msk) == (UART_SCISR_OVERR_Msk));
}
__STATIC_INLINE void FL_UART_ClearFlag_U7816RXOverflow(UART_Type *UARTx)
{
    WRITE_REG(UARTx->SCISR, UART_SCISR_OVERR_Msk);
}

96、获取U7816接收完成标志

  • FL_UART_IsActiveFlag_U7816RXComplete()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_U7816RXComplete(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCISR, UART_SCISR_RXIF_Msk) == (UART_SCISR_RXIF_Msk));
}

97、获取U7816发送缓冲区空标志

  • FL_UART_IsActiveFlag_U7816TXBuffEmpty()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_U7816TXBuffEmpty(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCISR, UART_SCISR_TXIF_Msk) == (UART_SCISR_TXIF_Msk));
}

98、获取U7816错误标志

  • FL_UART_IsActiveFlag_U7816Error()
__STATIC_INLINE uint32_t FL_UART_IsActiveFlag_U7816Error(UART_Type *UARTx)
{
    return (uint32_t)(READ_BIT(UARTx->SCISR, UART_SCISR_ERRIF_Msk) == (UART_SCISR_ERRIF_Msk));
}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值