一、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;
uint32_t modulationDuty;
uint32_t modulationFrequency;
} FL_UART_InfraRed_InitTypeDef;
typedef struct
{
uint32_t outputClockFreqence;
FL_FunState txAutoRetry;
uint32_t retryCnt;
FL_FunState blockGuard;
uint32_t parity;
uint32_t rxGuardTime;
uint32_t errorGuardTime;
uint32_t errorSignalWidth;
FL_FunState rxAutoErrorSignal;
uint32_t transferOrder;
uint32_t baud;
uint32_t extraGuardTime;
} 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接收启用状态
__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发送
__STATIC_INLINE void FL_UART_EnableTX(UART_Type *UARTx)
{
SET_BIT(UARTx->CSR, UART_CSR_TXEN_Msk);
}
35、禁用UART接收
__STATIC_INLINE void FL_UART_DisableTX(UART_Type *UARTx)
{
CLEAR_BIT(UARTx->CSR, UART_CSR_TXEN_Msk);
}
36、获取UART接收启用状态
__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));
}