44#ifndef G32R4xx_DDL_USART_H
45#define G32R4xx_DDL_USART_H
58#if defined (USART1) || defined (USART2)
73#define USART_POSITION_GTPR_GT USART_GTPSC_GRDT_Pos
79#if defined(USE_FULL_DDL_DRIVER)
89#if defined(USE_FULL_DDL_DRIVER)
182#define DDL_USART_STS_PEFLG USART_STS_PEFLG
183#define DDL_USART_STS_FEFLG USART_STS_FEFLG
184#define DDL_USART_STS_NEFLG USART_STS_NEFLG
185#define DDL_USART_STS_OVREFLG USART_STS_OVREFLG
186#define DDL_USART_STS_IDLEFLG USART_STS_IDLEFLG
187#define DDL_USART_STS_RXBNEFLG USART_STS_RXBNEFLG
188#define DDL_USART_STS_TXCFLG USART_STS_TXCFLG
189#define DDL_USART_STS_TXBEFLG USART_STS_TXBEFLG
190#define DDL_USART_STS_LBDFLG USART_STS_LBDFLG
191#define DDL_USART_STS_CTSFLG USART_STS_CTSFLG
200#define DDL_USART_CTRL1_IDLEIEN USART_CTRL1_IDLEIEN
201#define DDL_USART_CTRL1_RXBNEIEN USART_CTRL1_RXBNEIEN
202#define DDL_USART_CTRL1_TXCIEN USART_CTRL1_TXCIEN
203#define DDL_USART_CTRL1_TXBEIEN USART_CTRL1_TXBEIEN
204#define DDL_USART_CTRL1_PEIEN USART_CTRL1_PEIEN
205#define DDL_USART_CTRL2_LBDIEN USART_CTRL2_LBDIEN
206#define DDL_USART_CTRL3_ERRIEN USART_CTRL3_ERRIEN
207#define DDL_USART_CTRL3_CTSIEN USART_CTRL3_CTSIEN
215#define DDL_USART_DIRECTION_NONE 0x00000000U
216#define DDL_USART_DIRECTION_RX USART_CTRL1_RXEN
217#define DDL_USART_DIRECTION_TX USART_CTRL1_TXEN
218#define DDL_USART_DIRECTION_TX_RX (USART_CTRL1_TXEN |USART_CTRL1_RXEN)
226#define DDL_USART_PARITY_NONE 0x00000000U
227#define DDL_USART_PARITY_EVEN USART_CTRL1_PCEN
228#define DDL_USART_PARITY_ODD (USART_CTRL1_PCEN | USART_CTRL1_PCFG)
236#define DDL_USART_WAKEUP_IDLELINE 0x00000000U
237#define DDL_USART_WAKEUP_ADDRESSMARK USART_CTRL1_WUPMCFG
245#define DDL_USART_DATAWIDTH_8B 0x00000000U
246#define DDL_USART_DATAWIDTH_9B USART_CTRL1_DBLCFG
254#define DDL_USART_OVERSAMPLING_16 0x00000000U
255#define DDL_USART_OVERSAMPLING_8 USART_CTRL1_OSMCFG
260#if defined(USE_FULL_DDL_DRIVER)
265#define DDL_USART_CLOCK_DISABLE 0x00000000U
266#define DDL_USART_CLOCK_ENABLE USART_CTRL2_CLKEN
275#define DDL_USART_LASTCLKPULSE_NO_OUTPUT 0x00000000U
276#define DDL_USART_LASTCLKPULSE_OUTPUT USART_CTRL2_LBCPOEN
284#define DDL_USART_PHASE_1EDGE 0x00000000U
285#define DDL_USART_PHASE_2EDGE USART_CTRL2_CPHA
293#define DDL_USART_POLARITY_LOW 0x00000000U
294#define DDL_USART_POLARITY_HIGH USART_CTRL2_CPOL
302#define DDL_USART_STOPBITS_0_5 USART_CTRL2_STOPCFG_0
303#define DDL_USART_STOPBITS_1 0x00000000U
304#define DDL_USART_STOPBITS_1_5 USART_CTRL2_STOPCFG
305#define DDL_USART_STOPBITS_2 USART_CTRL2_STOPCFG_1
313#define DDL_USART_HWCONTROL_NONE 0x00000000U
314#define DDL_USART_HWCONTROL_RTS USART_CTRL3_RTSEN
315#define DDL_USART_HWCONTROL_CTS USART_CTRL3_CTSEN
316#define DDL_USART_HWCONTROL_RTS_CTS (USART_CTRL3_RTSEN | USART_CTRL3_CTSEN)
324#define DDL_USART_IRDA_POWER_NORMAL 0x00000000U
325#define DDL_USART_IRDA_POWER_LOW USART_CTRL3_IRLPEN
333#define DDL_USART_LINBREAK_DETECT_10B 0x00000000U
334#define DDL_USART_LINBREAK_DETECT_11B USART_CTRL2_LBDLCFG
342#define DDL_USART_SAMPLING_SINGLE USART_CTRL3_SAMCFG
343#define DDL_USART_SAMPLING_TRIPLE 0x00000000U
368#define DDL_USART_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
376#define DDL_USART_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
392#define __DDL_USART_DIV_SAMPLING8_100(__PERIPHCLK__, __BAUDRATE__) ((uint32_t)((((uint64_t)(__PERIPHCLK__))*25)/(2*((uint64_t)(__BAUDRATE__)))))
393#define __DDL_USART_DIVMANT_SAMPLING8(__PERIPHCLK__, __BAUDRATE__) (__DDL_USART_DIV_SAMPLING8_100((__PERIPHCLK__), (__BAUDRATE__))/100)
394#define __DDL_USART_DIVFRAQ_SAMPLING8(__PERIPHCLK__, __BAUDRATE__) ((((__DDL_USART_DIV_SAMPLING8_100((__PERIPHCLK__), (__BAUDRATE__)) - (__DDL_USART_DIVMANT_SAMPLING8((__PERIPHCLK__), (__BAUDRATE__)) * 100)) * 8)\
398#define __DDL_USART_DIV_SAMPLING8(__PERIPHCLK__, __BAUDRATE__) (((__DDL_USART_DIVMANT_SAMPLING8((__PERIPHCLK__), (__BAUDRATE__)) << 4) + \
399 ((__DDL_USART_DIVFRAQ_SAMPLING8((__PERIPHCLK__), (__BAUDRATE__)) & 0xF8) << 1)) + \
400 (__DDL_USART_DIVFRAQ_SAMPLING8((__PERIPHCLK__), (__BAUDRATE__)) & 0x07))
409#define __DDL_USART_DIV_SAMPLING16_100(__PERIPHCLK__, __BAUDRATE__) ((uint32_t)((((uint64_t)(__PERIPHCLK__))*25)/(4*((uint64_t)(__BAUDRATE__)))))
410#define __DDL_USART_DIVMANT_SAMPLING16(__PERIPHCLK__, __BAUDRATE__) (__DDL_USART_DIV_SAMPLING16_100((__PERIPHCLK__), (__BAUDRATE__))/100)
411#define __DDL_USART_DIVFRAQ_SAMPLING16(__PERIPHCLK__, __BAUDRATE__) ((((__DDL_USART_DIV_SAMPLING16_100((__PERIPHCLK__), (__BAUDRATE__)) - (__DDL_USART_DIVMANT_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) * 100)) * 16)\
415#define __DDL_USART_DIV_SAMPLING16(__PERIPHCLK__, __BAUDRATE__) (((__DDL_USART_DIVMANT_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) << 4) + \
416 (__DDL_USART_DIVFRAQ_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) & 0xF0)) + \
417 (__DDL_USART_DIVFRAQ_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) & 0x0F))
444 SET_BIT(USARTx->CTRL1, USART_CTRL1_UEN);
457 CLEAR_BIT(USARTx->CTRL1, USART_CTRL1_UEN);
467 return (READ_BIT(USARTx->CTRL1, USART_CTRL1_UEN) == (USART_CTRL1_UEN));
477 SET_BIT(USARTx->CTRL1, USART_CTRL1_RXEN);
487 CLEAR_BIT(USARTx->CTRL1, USART_CTRL1_RXEN);
497 SET_BIT(USARTx->CTRL1, USART_CTRL1_TXEN);
507 CLEAR_BIT(USARTx->CTRL1, USART_CTRL1_TXEN);
523 MODIFY_REG(USARTx->CTRL1, USART_CTRL1_RXEN | USART_CTRL1_TXEN, TransferDirection);
537 return (uint32_t)(READ_BIT(USARTx->CTRL1, USART_CTRL1_RXEN | USART_CTRL1_TXEN));
554 MODIFY_REG(USARTx->CTRL1, USART_CTRL1_PCFG | USART_CTRL1_PCEN, Parity);
567 return (uint32_t)(READ_BIT(USARTx->CTRL1, USART_CTRL1_PCFG | USART_CTRL1_PCEN));
580 MODIFY_REG(USARTx->CTRL1, USART_CTRL1_WUPMCFG, Method);
592 return (uint32_t)(READ_BIT(USARTx->CTRL1, USART_CTRL1_WUPMCFG));
605 MODIFY_REG(USARTx->CTRL1, USART_CTRL1_DBLCFG, DataWidth);
617 return (uint32_t)(READ_BIT(USARTx->CTRL1, USART_CTRL1_DBLCFG));
630 MODIFY_REG(USARTx->CTRL1, USART_CTRL1_OSMCFG, OverSampling);
642 return (uint32_t)(READ_BIT(USARTx->CTRL1, USART_CTRL1_OSMCFG));
657 MODIFY_REG(USARTx->CTRL2, USART_CTRL2_LBCPOEN, LastBitClockPulse);
672 return (uint32_t)(READ_BIT(USARTx->CTRL2, USART_CTRL2_LBCPOEN));
687 MODIFY_REG(USARTx->CTRL2, USART_CTRL2_CPHA, ClockPhase);
701 return (uint32_t)(READ_BIT(USARTx->CTRL2, USART_CTRL2_CPHA));
716 MODIFY_REG(USARTx->CTRL2, USART_CTRL2_CPOL, ClockPolarity);
730 return (uint32_t)(READ_BIT(USARTx->CTRL2, USART_CTRL2_CPOL));
753__STATIC_INLINE
void DDL_USART_ConfigClock(USART_TypeDef *USARTx, uint32_t Phase, uint32_t Polarity, uint32_t LBCPOutput)
755 MODIFY_REG(USARTx->CTRL2, USART_CTRL2_CPHA | USART_CTRL2_CPOL | USART_CTRL2_LBCPOEN, Phase | Polarity | LBCPOutput);
767 SET_BIT(USARTx->CTRL2, USART_CTRL2_CLKEN);
779 CLEAR_BIT(USARTx->CTRL2, USART_CTRL2_CLKEN);
791 return (READ_BIT(USARTx->CTRL2, USART_CTRL2_CLKEN) == (USART_CTRL2_CLKEN));
806 MODIFY_REG(USARTx->CTRL2, USART_CTRL2_STOPCFG, StopBits);
820 return (uint32_t)(READ_BIT(USARTx->CTRL2, USART_CTRL2_STOPCFG));
847 MODIFY_REG(USARTx->CTRL1, USART_CTRL1_PCFG | USART_CTRL1_PCEN | USART_CTRL1_DBLCFG, Parity | DataWidth);
848 MODIFY_REG(USARTx->CTRL2, USART_CTRL2_STOPCFG, StopBits);
861 MODIFY_REG(USARTx->CTRL2, USART_CTRL2_ADDR, (NodeAddress & USART_CTRL2_ADDR));
872 return (uint32_t)(READ_BIT(USARTx->CTRL2, USART_CTRL2_ADDR));
884 SET_BIT(USARTx->CTRL3, USART_CTRL3_RTSEN);
896 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_RTSEN);
908 SET_BIT(USARTx->CTRL3, USART_CTRL3_CTSEN);
920 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_CTSEN);
937 MODIFY_REG(USARTx->CTRL3, USART_CTRL3_RTSEN | USART_CTRL3_CTSEN, HardwareFlowControl);
953 return (uint32_t)(READ_BIT(USARTx->CTRL3, USART_CTRL3_RTSEN | USART_CTRL3_CTSEN));
966 MODIFY_REG(USARTx->CTRL1, USART_CTRL1_DEDT, Time << USART_CTRL1_DEDT_Pos);
978 return (uint32_t)(READ_BIT(USARTx->CTRL1, USART_CTRL1_DEDT) >> USART_CTRL1_DEDT_Pos);
991 MODIFY_REG(USARTx->CTRL1, USART_CTRL1_DEAT, Time << USART_CTRL1_DEAT_Pos);
1003 return (uint32_t)(READ_BIT(USARTx->CTRL1, USART_CTRL1_DEAT) >> USART_CTRL1_DEAT_Pos);
1015 SET_BIT(USARTx->CTRL3, USART_CTRL3_DEM);
1027 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_DEM);
1039 return ((READ_BIT(USARTx->CTRL3, USART_CTRL3_DEM) == (USART_CTRL3_DEM)) ? 1UL : 0UL);
1059 uint32_t temp, intDiv, fractionalDiv;
1062 intDiv = ((25 * PeriphClk) / (2 * BaudRate));
1066 intDiv = ((25 * PeriphClk) / (4 * BaudRate));
1069 temp = (intDiv / 100) << 4;
1070 fractionalDiv = intDiv - (100 * (temp >> 4));
1074 temp |= ((((fractionalDiv * 8) + 50) / 100)) & ((uint8_t)0x07);
1078 temp |= ((((fractionalDiv * 16) + 50) / 100)) & ((uint8_t)0x0F);
1097 uint32_t usartdiv = 0x0U;
1098 uint32_t brrresult = 0x0U;
1100 usartdiv = USARTx->BR;
1104 if ((usartdiv & 0xFFF7U) != 0U)
1106 usartdiv = (uint16_t)((usartdiv & 0xFFF0U) | ((usartdiv & 0x0007U) << 1U)) ;
1107 brrresult = (PeriphClk * 2U) / usartdiv;
1112 if ((usartdiv & 0xFFFFU) != 0U)
1114 brrresult = PeriphClk / usartdiv;
1130 MODIFY_REG(USARTx->CTRL3, USART_CTRL3_SAMCFG, Sample);
1150 SET_BIT(USARTx->CTRL3, USART_CTRL3_IREN);
1162 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_IREN);
1174 return (READ_BIT(USARTx->CTRL3, USART_CTRL3_IREN) == (USART_CTRL3_IREN));
1189 MODIFY_REG(USARTx->CTRL3, USART_CTRL3_IRLPEN, PowerMode);
1203 return (uint32_t)(READ_BIT(USARTx->CTRL3, USART_CTRL3_IRLPEN));
1217 MODIFY_REG(USARTx->GTPSC, USART_GTPSC_PSC, PrescalerValue);
1230 return (uint32_t)(READ_BIT(USARTx->GTPSC, USART_GTPSC_PSC));
1250 SET_BIT(USARTx->CTRL3, USART_CTRL3_SCNACKEN);
1262 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_SCNACKEN);
1274 return (READ_BIT(USARTx->CTRL3, USART_CTRL3_SCNACKEN) == (USART_CTRL3_SCNACKEN));
1286 SET_BIT(USARTx->CTRL3, USART_CTRL3_SCEN);
1298 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_SCEN);
1310 return (READ_BIT(USARTx->CTRL3, USART_CTRL3_SCEN) == (USART_CTRL3_SCEN));
1324 MODIFY_REG(USARTx->GTPSC, USART_GTPSC_PSC, PrescalerValue);
1337 return (uint32_t)(READ_BIT(USARTx->GTPSC, USART_GTPSC_PSC));
1384 SET_BIT(USARTx->CTRL3, USART_CTRL3_HDEN);
1396 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_HDEN);
1408 return (READ_BIT(USARTx->CTRL3, USART_CTRL3_HDEN) == (USART_CTRL3_HDEN));
1431 MODIFY_REG(USARTx->CTRL2, USART_CTRL2_LBDLCFG, LINBDLength);
1445 return (uint32_t)(READ_BIT(USARTx->CTRL2, USART_CTRL2_LBDLCFG));
1457 SET_BIT(USARTx->CTRL2, USART_CTRL2_LINMEN);
1469 CLEAR_BIT(USARTx->CTRL2, USART_CTRL2_LINMEN);
1481 return (READ_BIT(USARTx->CTRL2, USART_CTRL2_LINMEN) == (USART_CTRL2_LINMEN));
1517 CLEAR_BIT(USARTx->CTRL2, (USART_CTRL2_LINMEN | USART_CTRL2_CLKEN));
1518 CLEAR_BIT(USARTx->CTRL3, (USART_CTRL3_SCEN | USART_CTRL3_IREN | USART_CTRL3_HDEN));
1548 CLEAR_BIT(USARTx->CTRL2, (USART_CTRL2_LINMEN));
1549 CLEAR_BIT(USARTx->CTRL3, (USART_CTRL3_SCEN | USART_CTRL3_IREN | USART_CTRL3_HDEN));
1551 SET_BIT(USARTx->CTRL2, USART_CTRL2_CLKEN);
1582 CLEAR_BIT(USARTx->CTRL2, (USART_CTRL2_CLKEN | USART_CTRL2_STOPCFG));
1583 CLEAR_BIT(USARTx->CTRL3, (USART_CTRL3_IREN | USART_CTRL3_SCEN | USART_CTRL3_HDEN));
1585 SET_BIT(USARTx->CTRL2, USART_CTRL2_LINMEN);
1615 CLEAR_BIT(USARTx->CTRL2, (USART_CTRL2_LINMEN | USART_CTRL2_CLKEN));
1616 CLEAR_BIT(USARTx->CTRL3, (USART_CTRL3_SCEN | USART_CTRL3_IREN));
1618 SET_BIT(USARTx->CTRL3, USART_CTRL3_HDEN);
1650 CLEAR_BIT(USARTx->CTRL2, (USART_CTRL2_LINMEN));
1651 CLEAR_BIT(USARTx->CTRL3, (USART_CTRL3_IREN | USART_CTRL3_HDEN));
1654 SET_BIT(USARTx->CTRL2, (USART_CTRL2_STOPCFG | USART_CTRL2_CLKEN));
1656 SET_BIT(USARTx->CTRL3, USART_CTRL3_SCEN);
1687 CLEAR_BIT(USARTx->CTRL2, (USART_CTRL2_LINMEN | USART_CTRL2_CLKEN | USART_CTRL2_STOPCFG));
1688 CLEAR_BIT(USARTx->CTRL3, (USART_CTRL3_SCEN | USART_CTRL3_HDEN));
1690 SET_BIT(USARTx->CTRL3, USART_CTRL3_IREN);
1720 CLEAR_BIT(USARTx->CTRL2, (USART_CTRL2_LINMEN | USART_CTRL2_CLKEN));
1721 CLEAR_BIT(USARTx->CTRL3, (USART_CTRL3_SCEN | USART_CTRL3_HDEN | USART_CTRL3_IREN));
1739 return (READ_BIT(USARTx->STS, USART_STS_PEFLG) == (USART_STS_PEFLG));
1753 __IO uint32_t tmpreg;
1754 tmpreg = USARTx->STS;
1756 tmpreg = USARTx->DATA;
1767 return (READ_BIT(USARTx->STS, USART_STS_FEFLG) == (USART_STS_FEFLG));
1781 __IO uint32_t tmpreg;
1782 tmpreg = USARTx->STS;
1784 tmpreg = USARTx->DATA;
1795 return (READ_BIT(USARTx->STS, USART_STS_NEFLG) == (USART_STS_NEFLG));
1809 __IO uint32_t tmpreg;
1810 tmpreg = USARTx->STS;
1812 tmpreg = USARTx->DATA;
1823 return (READ_BIT(USARTx->STS, USART_STS_OVREFLG) == (USART_STS_OVREFLG));
1837 __IO uint32_t tmpreg;
1838 tmpreg = USARTx->STS;
1840 tmpreg = USARTx->DATA;
1851 return (READ_BIT(USARTx->STS, USART_STS_IDLEFLG) == (USART_STS_IDLEFLG));
1865 __IO uint32_t tmpreg;
1866 tmpreg = USARTx->STS;
1868 tmpreg = USARTx->DATA;
1879 return (READ_BIT(USARTx->STS, USART_STS_RXBNEFLG) == (USART_STS_RXBNEFLG));
1889 WRITE_REG(USARTx->STS, ~(USART_STS_RXBNEFLG));
1899 return (READ_BIT(USARTx->STS, USART_STS_TXCFLG) == (USART_STS_TXCFLG));
1909 WRITE_REG(USARTx->STS, ~(USART_STS_TXCFLG));
1919 return (READ_BIT(USARTx->STS, USART_STS_TXBEFLG) == (USART_STS_TXBEFLG));
1931 return (READ_BIT(USARTx->STS, USART_STS_LBDFLG) == (USART_STS_LBDFLG));
1943 WRITE_REG(USARTx->STS, ~(USART_STS_LBDFLG));
1955 return (READ_BIT(USARTx->STS, USART_STS_CTSFLG) == (USART_STS_CTSFLG));
1967 WRITE_REG(USARTx->STS, ~(USART_STS_CTSFLG));
1977 return (READ_BIT(USARTx->CTRL1, USART_CTRL1_TXBF) == (USART_CTRL1_TXBF));
1987 return (READ_BIT(USARTx->CTRL1, USART_CTRL1_RXMUTEEN) == (USART_CTRL1_RXMUTEEN));
2005 SET_BIT(USARTx->CTRL1, USART_CTRL1_IDLEIEN);
2015 CLEAR_BIT(USARTx->CTRL1, USART_CTRL1_IDLEIEN);
2025 return (READ_BIT(USARTx->CTRL1, USART_CTRL1_IDLEIEN) == (USART_CTRL1_IDLEIEN));
2035 SET_BIT(USARTx->CTRL1, USART_CTRL1_RXBNEIEN);
2045 CLEAR_BIT(USARTx->CTRL1, USART_CTRL1_RXBNEIEN);
2055 return (READ_BIT(USARTx->CTRL1, USART_CTRL1_RXBNEIEN) == (USART_CTRL1_RXBNEIEN));
2065 SET_BIT(USARTx->CTRL1, USART_CTRL1_TXCIEN);
2075 CLEAR_BIT(USARTx->CTRL1, USART_CTRL1_TXCIEN);
2085 return (READ_BIT(USARTx->CTRL1, USART_CTRL1_TXCIEN) == (USART_CTRL1_TXCIEN));
2095 SET_BIT(USARTx->CTRL1, USART_CTRL1_TXBEIEN);
2105 CLEAR_BIT(USARTx->CTRL1, USART_CTRL1_TXBEIEN);
2115 return (READ_BIT(USARTx->CTRL1, USART_CTRL1_TXBEIEN) == (USART_CTRL1_TXBEIEN));
2125 SET_BIT(USARTx->CTRL1, USART_CTRL1_PEIEN);
2135 CLEAR_BIT(USARTx->CTRL1, USART_CTRL1_PEIEN);
2145 return (READ_BIT(USARTx->CTRL1, USART_CTRL1_PEIEN) == (USART_CTRL1_PEIEN));
2157 SET_BIT(USARTx->CTRL2, USART_CTRL2_LBDIEN);
2169 CLEAR_BIT(USARTx->CTRL2, USART_CTRL2_LBDIEN);
2181 return (READ_BIT(USARTx->CTRL2, USART_CTRL2_LBDIEN) == (USART_CTRL2_LBDIEN));
2195 SET_BIT(USARTx->CTRL3, USART_CTRL3_ERRIEN);
2209 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_ERRIEN);
2219 return (READ_BIT(USARTx->CTRL3, USART_CTRL3_ERRIEN) == (USART_CTRL3_ERRIEN));
2231 SET_BIT(USARTx->CTRL3, USART_CTRL3_CTSIEN);
2243 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_CTSIEN);
2255 return (READ_BIT(USARTx->CTRL3, USART_CTRL3_CTSIEN) == (USART_CTRL3_CTSIEN));
2273 SET_BIT(USARTx->CTRL3, USART_CTRL3_DMARXEN);
2283 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_DMARXEN);
2293 return (READ_BIT(USARTx->CTRL3, USART_CTRL3_DMARXEN) == (USART_CTRL3_DMARXEN));
2303 SET_BIT(USARTx->CTRL3, USART_CTRL3_DMATXEN);
2313 CLEAR_BIT(USARTx->CTRL3, USART_CTRL3_DMATXEN);
2323 return (READ_BIT(USARTx->CTRL3, USART_CTRL3_DMATXEN) == (USART_CTRL3_DMATXEN));
2335 return ((uint32_t) &(USARTx->DATA));
2353 return (uint8_t)(READ_BIT(USARTx->DATA, USART_DATA_DATA));
2363 return (uint16_t)(READ_BIT(USARTx->DATA, USART_DATA_DATA));
2374 USARTx->DATA = Value;
2385 USARTx->DATA = Value & 0x1FFU;
2403 SET_BIT(USARTx->CTRL1, USART_CTRL1_TXBF);
2413 SET_BIT(USARTx->CTRL1, USART_CTRL1_RXMUTEEN);
2423 CLEAR_BIT(USARTx->CTRL1, USART_CTRL1_RXMUTEEN);
2430#if defined(USE_FULL_DDL_DRIVER)
#define DDL_USART_OVERSAMPLING_8
__STATIC_INLINE void DDL_USART_ConfigHalfDuplexMode(USART_TypeDef *USARTx)
Perform basic configuration of USART for enabling use in Half Duplex Mode.
__STATIC_INLINE void DDL_USART_ConfigMultiProcessMode(USART_TypeDef *USARTx)
Perform basic configuration of USART for enabling use in Multi processor Mode (several USARTs connect...
__STATIC_INLINE void DDL_USART_ConfigLINMode(USART_TypeDef *USARTx)
Perform basic configuration of USART for enabling use in LIN Mode.
__STATIC_INLINE void DDL_USART_ConfigAsyncMode(USART_TypeDef *USARTx)
Perform basic configuration of USART for enabling use in Asynchronous Mode (UART).
__STATIC_INLINE void DDL_USART_ConfigSyncMode(USART_TypeDef *USARTx)
Perform basic configuration of USART for enabling use in Synchronous Mode.
__STATIC_INLINE void DDL_USART_ConfigSmartcardMode(USART_TypeDef *USARTx)
Perform basic configuration of USART for enabling use in Smartcard Mode.
__STATIC_INLINE void DDL_USART_ConfigIrdaMode(USART_TypeDef *USARTx)
Perform basic configuration of USART for enabling use in Irda Mode.
__STATIC_INLINE void DDL_USART_EnableHalfDuplex(USART_TypeDef *USARTx)
Enable Single Wire Half-Duplex mode.
__STATIC_INLINE void DDL_USART_DisableHalfDuplex(USART_TypeDef *USARTx)
Disable Single Wire Half-Duplex mode.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledHalfDuplex(USART_TypeDef *USARTx)
Indicate if Single Wire Half-Duplex mode is enabled.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledIrda(USART_TypeDef *USARTx)
Indicate if IrDA mode is enabled.
__STATIC_INLINE void DDL_USART_SetIrdaPowerMode(USART_TypeDef *USARTx, uint32_t PowerMode)
Configure IrDA Power Mode (Normal or Low Power).
__STATIC_INLINE void DDL_USART_DisableIrda(USART_TypeDef *USARTx)
Disable IrDA mode.
__STATIC_INLINE uint32_t DDL_USART_GetIrdaPrescaler(USART_TypeDef *USARTx)
Return Irda prescaler value, used for dividing the USART clock source to achieve the Irda Low Power f...
__STATIC_INLINE uint32_t DDL_USART_GetIrdaPowerMode(USART_TypeDef *USARTx)
Retrieve IrDA Power Mode configuration (Normal or Low Power).
__STATIC_INLINE void DDL_USART_EnableIrda(USART_TypeDef *USARTx)
Enable IrDA mode.
__STATIC_INLINE void DDL_USART_SetIrdaPrescaler(USART_TypeDef *USARTx, uint32_t PrescalerValue)
Set Irda prescaler value, used for dividing the USART clock source to achieve the Irda Low Power freq...
__STATIC_INLINE void DDL_USART_SetLINBrkDetectionLen(USART_TypeDef *USARTx, uint32_t LINBDLength)
Set LIN Break Detection Length.
__STATIC_INLINE void DDL_USART_DisableLIN(USART_TypeDef *USARTx)
Disable LIN mode.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledLIN(USART_TypeDef *USARTx)
Indicate if LIN mode is enabled.
__STATIC_INLINE uint32_t DDL_USART_GetLINBrkDetectionLen(USART_TypeDef *USARTx)
Return LIN Break Detection Length.
__STATIC_INLINE void DDL_USART_EnableLIN(USART_TypeDef *USARTx)
Enable LIN mode.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledSmartcardNACK(USART_TypeDef *USARTx)
Indicate if Smartcard NACK transmission is enabled.
__STATIC_INLINE uint32_t DDL_USART_GetSmartcardPrescaler(USART_TypeDef *USARTx)
Return Smartcard prescaler value, used for dividing the USART clock source to provide the SMARTCARD C...
__STATIC_INLINE void DDL_USART_DisableSmartcardNACK(USART_TypeDef *USARTx)
Disable Smartcard NACK transmission.
__STATIC_INLINE void DDL_USART_EnableSmartcardNACK(USART_TypeDef *USARTx)
Enable Smartcard NACK transmission.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledSmartcard(USART_TypeDef *USARTx)
Indicate if Smartcard mode is enabled.
__STATIC_INLINE void DDL_USART_EnableSmartcard(USART_TypeDef *USARTx)
Enable Smartcard mode.
__STATIC_INLINE void DDL_USART_SetSmartcardGuardTime(USART_TypeDef *USARTx, uint32_t GuardTime)
Set Smartcard Guard time value, expressed in nb of baud clocks periods (GT[7:0] bits : Guard time val...
__STATIC_INLINE uint32_t DDL_USART_GetSmartcardGuardTime(USART_TypeDef *USARTx)
Return Smartcard Guard time value, expressed in nb of baud clocks periods (GT[7:0] bits : Guard time ...
__STATIC_INLINE void DDL_USART_DisableSmartcard(USART_TypeDef *USARTx)
Disable Smartcard mode.
__STATIC_INLINE void DDL_USART_SetSmartcardPrescaler(USART_TypeDef *USARTx, uint32_t PrescalerValue)
Set Smartcard prescaler value, used for dividing the USART clock source to provide the SMARTCARD Cloc...
__STATIC_INLINE uint32_t DDL_USART_GetDEDeassertionTime(USART_TypeDef *USARTx)
Return DEDT (Driver Enable De-Assertion Time).
__STATIC_INLINE uint32_t DDL_USART_IsEnabled(USART_TypeDef *USARTx)
Indicate if USART is enabled.
__STATIC_INLINE uint32_t DDL_USART_GetClockPhase(USART_TypeDef *USARTx)
Return phase of the clock output on the SCLK pin in synchronous mode.
__STATIC_INLINE void DDL_USART_SetTransferDirection(USART_TypeDef *USARTx, uint32_t TransferDirection)
Configure simultaneously enabled/disabled states of Transmitter and Receiver.
__STATIC_INLINE void DDL_USART_SetHWFlowCtrl(USART_TypeDef *USARTx, uint32_t HardwareFlowControl)
Configure HW Flow Control mode (both CTS and RTS).
__STATIC_INLINE void DDL_USART_EnableDirectionRx(USART_TypeDef *USARTx)
Receiver Enable (Receiver is enabled and begins searching for a start bit).
__STATIC_INLINE void DDL_USART_Disable(USART_TypeDef *USARTx)
USART Disable (all USART prescalers and outputs are disabled).
__STATIC_INLINE uint32_t DDL_USART_GetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t OverSampling)
Return current Baud Rate value, according to USARTDIV present in BRR register (full BRR content),...
__STATIC_INLINE void DDL_USART_SetDEDeassertionTime(USART_TypeDef *USARTx, uint32_t Time)
Set DEDT (Driver Enable De-Assertion Time), Time value expressed on 5 bits ([4:0] bits).
__STATIC_INLINE void DDL_USART_ConfigCharacter(USART_TypeDef *USARTx, uint32_t DataWidth, uint32_t Parity, uint32_t StopBits)
Configure Character frame format (Datawidth, Parity control, Stop Bits).
__STATIC_INLINE void DDL_USART_SetOverSampling(USART_TypeDef *USARTx, uint32_t OverSampling)
Set Oversampling to 8-bit or 16-bit mode.
__STATIC_INLINE void DDL_USART_DisableDirectionTx(USART_TypeDef *USARTx)
Transmitter Disable.
__STATIC_INLINE void DDL_USART_DisableRTSHWFlowCtrl(USART_TypeDef *USARTx)
Disable RTS HW Flow Control.
__STATIC_INLINE uint32_t DDL_USART_GetOverSampling(USART_TypeDef *USARTx)
Return Oversampling mode.
__STATIC_INLINE void DDL_USART_EnableCTSHWFlowCtrl(USART_TypeDef *USARTx)
Enable CTS HW Flow Control.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledSCLKOutput(USART_TypeDef *USARTx)
Indicate if Clock output on SCLK pin is enabled.
__STATIC_INLINE uint32_t DDL_USART_GetClockPolarity(USART_TypeDef *USARTx)
Return polarity of the clock output on the SCLK pin in synchronous mode.
__STATIC_INLINE void DDL_USART_SetParity(USART_TypeDef *USARTx, uint32_t Parity)
Configure Parity (enabled/disabled and parity mode if enabled).
__STATIC_INLINE void DDL_USART_EnableRTSHWFlowCtrl(USART_TypeDef *USARTx)
Enable RTS HW Flow Control.
__STATIC_INLINE uint32_t DDL_USART_GetWakeUpMethod(USART_TypeDef *USARTx)
Return Receiver Wake Up method from Mute mode.
__STATIC_INLINE uint32_t DDL_USART_GetDataWidth(USART_TypeDef *USARTx)
Return Word length (i.e. nb of data bits, excluding start and stop bits).
__STATIC_INLINE uint32_t DDL_USART_GetHWFlowCtrl(USART_TypeDef *USARTx)
Return HW Flow Control configuration (both CTS and RTS).
__STATIC_INLINE void DDL_USART_SetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t OverSampling, uint32_t BaudRate)
Configure USART BRR register for achieving expected Baud Rate value.
__STATIC_INLINE void DDL_USART_SetLastClkPulseOutput(USART_TypeDef *USARTx, uint32_t LastBitClockPulse)
Configure if Clock pulse of the last data bit is output to the SCLK pin or not.
__STATIC_INLINE void DDL_USART_SetClockPolarity(USART_TypeDef *USARTx, uint32_t ClockPolarity)
Select the polarity of the clock output on the SCLK pin in synchronous mode.
__STATIC_INLINE void DDL_USART_SetWakeUpMethod(USART_TypeDef *USARTx, uint32_t Method)
Set Receiver Wake Up method from Mute mode.
__STATIC_INLINE void DDL_USART_DisableDirectionRx(USART_TypeDef *USARTx)
Receiver Disable.
__STATIC_INLINE void DDL_USART_Enable(USART_TypeDef *USARTx)
USART Enable.
__STATIC_INLINE uint32_t DDL_USART_GetNodeAddress(USART_TypeDef *USARTx)
Return 4 bit Address of the USART node as set in ADD field of CTRL2.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledDEMode(USART_TypeDef *USARTx)
Indicate if Driver Enable (DE) Mode is enabled.
__STATIC_INLINE void DDL_USART_SetClockPhase(USART_TypeDef *USARTx, uint32_t ClockPhase)
Select the phase of the clock output on the SCLK pin in synchronous mode.
__STATIC_INLINE void DDL_USART_SetStopBitsLength(USART_TypeDef *USARTx, uint32_t StopBits)
Set the length of the stop bits.
__STATIC_INLINE void DDL_USART_ConfigClock(USART_TypeDef *USARTx, uint32_t Phase, uint32_t Polarity, uint32_t LBCPOutput)
Configure Clock signal format (Phase Polarity and choice about output of last bit clock pulse).
__STATIC_INLINE void DDL_USART_SetDEAssertionTime(USART_TypeDef *USARTx, uint32_t Time)
Set DEAT (Driver Enable Assertion Time), Time value expressed on 5 bits ([4:0] bits).
__STATIC_INLINE uint32_t DDL_USART_GetParity(USART_TypeDef *USARTx)
Return Parity configuration (enabled/disabled and parity mode if enabled).
__STATIC_INLINE void DDL_USART_SetSampleMethod(USART_TypeDef *USARTx, uint32_t Sample)
Configure sampling method.
__STATIC_INLINE uint32_t DDL_USART_GetStopBitsLength(USART_TypeDef *USARTx)
Retrieve the length of the stop bits.
__STATIC_INLINE void DDL_USART_EnableDirectionTx(USART_TypeDef *USARTx)
Transmitter Enable.
__STATIC_INLINE void DDL_USART_EnableDEMode(USART_TypeDef *USARTx)
Enable Driver Enable (DE) Mode.
__STATIC_INLINE void DDL_USART_DisableCTSHWFlowCtrl(USART_TypeDef *USARTx)
Disable CTS HW Flow Control.
__STATIC_INLINE void DDL_USART_DisableSCLKOutput(USART_TypeDef *USARTx)
Disable Clock output on SCLK pin.
__STATIC_INLINE uint32_t DDL_USART_GetTransferDirection(USART_TypeDef *USARTx)
Return enabled/disabled states of Transmitter and Receiver.
__STATIC_INLINE void DDL_USART_DisableDEMode(USART_TypeDef *USARTx)
Disable Driver Enable (DE) Mode.
__STATIC_INLINE uint32_t DDL_USART_GetLastClkPulseOutput(USART_TypeDef *USARTx)
Retrieve Clock pulse of the last data bit output configuration (Last bit Clock pulse output to the SC...
__STATIC_INLINE void DDL_USART_SetNodeAddress(USART_TypeDef *USARTx, uint32_t NodeAddress)
Set Address of the USART node.
__STATIC_INLINE void DDL_USART_EnableSCLKOutput(USART_TypeDef *USARTx)
Enable Clock output on SCLK pin.
__STATIC_INLINE uint32_t DDL_USART_GetDEAssertionTime(USART_TypeDef *USARTx)
Return DEAT (Driver Enable Assertion Time).
__STATIC_INLINE void DDL_USART_SetDataWidth(USART_TypeDef *USARTx, uint32_t DataWidth)
Set Word length (i.e. nb of data bits, excluding start and stop bits).
__STATIC_INLINE void DDL_USART_EnableDMAReq_RX(USART_TypeDef *USARTx)
Enable DMA Mode for reception.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledDMAReq_RX(USART_TypeDef *USARTx)
Check if DMA Mode is enabled for reception.
__STATIC_INLINE uint32_t DDL_USART_DMA_GetRegAddr(USART_TypeDef *USARTx)
Get the data register address used for DMA transfer.
__STATIC_INLINE void DDL_USART_DisableDMAReq_TX(USART_TypeDef *USARTx)
Disable DMA Mode for transmission.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledDMAReq_TX(USART_TypeDef *USARTx)
Check if DMA Mode is enabled for transmission.
__STATIC_INLINE void DDL_USART_DisableDMAReq_RX(USART_TypeDef *USARTx)
Disable DMA Mode for reception.
__STATIC_INLINE void DDL_USART_EnableDMAReq_TX(USART_TypeDef *USARTx)
Enable DMA Mode for transmission.
__STATIC_INLINE uint16_t DDL_USART_ReceiveData9(USART_TypeDef *USARTx)
Read Receiver Data register (Receive Data value, 9 bits).
__STATIC_INLINE uint8_t DDL_USART_ReceiveData8(USART_TypeDef *USARTx)
Read Receiver Data register (Receive Data value, 8 bits).
__STATIC_INLINE void DDL_USART_TransmitData8(USART_TypeDef *USARTx, uint8_t Value)
Write in Transmitter Data Register (Transmit Data value, 8 bits).
__STATIC_INLINE void DDL_USART_TransmitData9(USART_TypeDef *USARTx, uint16_t Value)
Write in Transmitter Data Register (Transmit Data value, 9 bits).
__STATIC_INLINE void DDL_USART_RequestEnterMuteMode(USART_TypeDef *USARTx)
Put USART in Mute mode.
__STATIC_INLINE void DDL_USART_RequestBreakSending(USART_TypeDef *USARTx)
Request Break sending.
__STATIC_INLINE void DDL_USART_RequestExitMuteMode(USART_TypeDef *USARTx)
Put USART in Active mode.
__STATIC_INLINE void DDL_USART_ClearFlag_NE(USART_TypeDef *USARTx)
Clear Noise detected Flag.
__STATIC_INLINE void DDL_USART_ClearFlag_LBD(USART_TypeDef *USARTx)
Clear LIN Break Detection Flag.
__STATIC_INLINE void DDL_USART_ClearFlag_CTS(USART_TypeDef *USARTx)
Clear CTS Interrupt Flag.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_PE(USART_TypeDef *USARTx)
Check if the USART Parity Error Flag is set or not.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_RWU(USART_TypeDef *USARTx)
Check if the USART Receive Wake Up from mute mode Flag is set or not.
__STATIC_INLINE void DDL_USART_ClearFlag_ORE(USART_TypeDef *USARTx)
Clear OverRun Error Flag.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_RXNE(USART_TypeDef *USARTx)
Check if the USART Read Data Register Not Empty Flag is set or not.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_TC(USART_TypeDef *USARTx)
Check if the USART Transmission Complete Flag is set or not.
__STATIC_INLINE void DDL_USART_ClearFlag_RXNE(USART_TypeDef *USARTx)
Clear RX Not Empty Flag.
__STATIC_INLINE void DDL_USART_ClearFlag_IDLE(USART_TypeDef *USARTx)
Clear IDLE line detected Flag.
__STATIC_INLINE void DDL_USART_ClearFlag_FE(USART_TypeDef *USARTx)
Clear Framing Error Flag.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_IDLE(USART_TypeDef *USARTx)
Check if the USART IDLE line detected Flag is set or not.
__STATIC_INLINE void DDL_USART_ClearFlag_TC(USART_TypeDef *USARTx)
Clear Transmission Complete Flag.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_CTS(USART_TypeDef *USARTx)
Check if the USART CTS Flag is set or not.
__STATIC_INLINE void DDL_USART_ClearFlag_PE(USART_TypeDef *USARTx)
Clear Parity Error Flag.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_ORE(USART_TypeDef *USARTx)
Check if the USART OverRun Error Flag is set or not.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_NE(USART_TypeDef *USARTx)
Check if the USART Noise error detected Flag is set or not.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_SBK(USART_TypeDef *USARTx)
Check if the USART Send Break Flag is set or not.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_FE(USART_TypeDef *USARTx)
Check if the USART Framing Error Flag is set or not.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_TXE(USART_TypeDef *USARTx)
Check if the USART Transmit Data Register Empty Flag is set or not.
__STATIC_INLINE uint32_t DDL_USART_IsActiveFlag_LBD(USART_TypeDef *USARTx)
Check if the USART LIN Break Detection Flag is set or not.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledIT_TXE(USART_TypeDef *USARTx)
Check if the USART TX Empty Interrupt is enabled or disabled.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledIT_TC(USART_TypeDef *USARTx)
Check if the USART Transmission Complete Interrupt is enabled or disabled.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledIT_LBD(USART_TypeDef *USARTx)
Check if the USART LIN Break Detection Interrupt is enabled or disabled.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledIT_RXNE(USART_TypeDef *USARTx)
Check if the USART RX Not Empty Interrupt is enabled or disabled.
__STATIC_INLINE void DDL_USART_EnableIT_IDLE(USART_TypeDef *USARTx)
Enable IDLE Interrupt.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledIT_PE(USART_TypeDef *USARTx)
Check if the USART Parity Error Interrupt is enabled or disabled.
__STATIC_INLINE void DDL_USART_DisableIT_PE(USART_TypeDef *USARTx)
Disable Parity Error Interrupt.
__STATIC_INLINE void DDL_USART_DisableIT_TC(USART_TypeDef *USARTx)
Disable Transmission Complete Interrupt.
__STATIC_INLINE void DDL_USART_EnableIT_TC(USART_TypeDef *USARTx)
Enable Transmission Complete Interrupt.
__STATIC_INLINE void DDL_USART_EnableIT_LBD(USART_TypeDef *USARTx)
Enable LIN Break Detection Interrupt.
__STATIC_INLINE void DDL_USART_DisableIT_TXE(USART_TypeDef *USARTx)
Disable TX Empty Interrupt.
__STATIC_INLINE void DDL_USART_EnableIT_CTS(USART_TypeDef *USARTx)
Enable CTS Interrupt.
__STATIC_INLINE void DDL_USART_DisableIT_CTS(USART_TypeDef *USARTx)
Disable CTS Interrupt.
__STATIC_INLINE void DDL_USART_DisableIT_RXNE(USART_TypeDef *USARTx)
Disable RX Not Empty Interrupt.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledIT_CTS(USART_TypeDef *USARTx)
Check if the USART CTS Interrupt is enabled or disabled.
__STATIC_INLINE void DDL_USART_DisableIT_LBD(USART_TypeDef *USARTx)
Disable LIN Break Detection Interrupt.
__STATIC_INLINE void DDL_USART_DisableIT_IDLE(USART_TypeDef *USARTx)
Disable IDLE Interrupt.
__STATIC_INLINE void DDL_USART_EnableIT_TXE(USART_TypeDef *USARTx)
Enable TX Empty Interrupt.
__STATIC_INLINE void DDL_USART_EnableIT_ERROR(USART_TypeDef *USARTx)
Enable Error Interrupt.
__STATIC_INLINE void DDL_USART_EnableIT_PE(USART_TypeDef *USARTx)
Enable Parity Error Interrupt.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledIT_IDLE(USART_TypeDef *USARTx)
Check if the USART IDLE Interrupt source is enabled or disabled.
__STATIC_INLINE void DDL_USART_EnableIT_RXNE(USART_TypeDef *USARTx)
Enable RX Not Empty Interrupt.
__STATIC_INLINE void DDL_USART_DisableIT_ERROR(USART_TypeDef *USARTx)
Disable Error Interrupt.
__STATIC_INLINE uint32_t DDL_USART_IsEnabledIT_ERROR(USART_TypeDef *USARTx)
Check if the USART Error Interrupt is enabled or disabled.
void DDL_USART_StructInit(DDL_USART_InitTypeDef *USART_InitStruct)
Set each DDL_USART_InitTypeDef field to default value.
ErrorStatus DDL_USART_Init(USART_TypeDef *USARTx, DDL_USART_InitTypeDef *USART_InitStruct)
Initialize USART registers according to the specified parameters in USART_InitStruct.
ErrorStatus DDL_USART_ClockInit(USART_TypeDef *USARTx, DDL_USART_ClockInitTypeDef *USART_ClockInitStruct)
Initialize USART Clock related settings according to the specified parameters in the USART_ClockInitS...
ErrorStatus DDL_USART_DeInit(USART_TypeDef *USARTx)
De-initialize USART registers (Registers restored to their default values).
void DDL_USART_ClockStructInit(DDL_USART_ClockInitTypeDef *USART_ClockInitStruct)
Set each field of a DDL_USART_ClockInitTypeDef type structure to default value.
#define USART_POSITION_GTPR_GT
LL USART Clock Init Structure definition.
uint32_t LastBitClockPulse
LL USART Init Structure definition.
uint32_t TransferDirection
uint32_t HardwareFlowControl