File indexing completed on 2025-05-11 08:23:36
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef STM32H7xx_HAL_USART_EX_H
0021 #define STM32H7xx_HAL_USART_EX_H
0022
0023 #ifdef __cplusplus
0024 extern "C" {
0025 #endif
0026
0027
0028 #include "stm32h7xx_hal_def.h"
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049 #define USART_WORDLENGTH_7B (USART_CR1_M1)
0050 #define USART_WORDLENGTH_8B (0x00000000U)
0051 #define USART_WORDLENGTH_9B (USART_CR1_M0)
0052
0053
0054
0055
0056
0057
0058
0059
0060 #define USART_NSS_HARD 0x00000000U
0061 #define USART_NSS_SOFT USART_CR2_DIS_NSS
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072 #define USART_SLAVEMODE_DISABLE 0x00000000U
0073 #define USART_SLAVEMODE_ENABLE USART_CR2_SLVEN
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083 #define USART_FIFOMODE_DISABLE 0x00000000U
0084 #define USART_FIFOMODE_ENABLE USART_CR1_FIFOEN
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094 #define USART_TXFIFO_THRESHOLD_1_8 0x00000000U
0095 #define USART_TXFIFO_THRESHOLD_1_4 USART_CR3_TXFTCFG_0
0096 #define USART_TXFIFO_THRESHOLD_1_2 USART_CR3_TXFTCFG_1
0097 #define USART_TXFIFO_THRESHOLD_3_4 (USART_CR3_TXFTCFG_0|USART_CR3_TXFTCFG_1)
0098 #define USART_TXFIFO_THRESHOLD_7_8 USART_CR3_TXFTCFG_2
0099 #define USART_TXFIFO_THRESHOLD_8_8 (USART_CR3_TXFTCFG_2|USART_CR3_TXFTCFG_0)
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109 #define USART_RXFIFO_THRESHOLD_1_8 0x00000000U
0110 #define USART_RXFIFO_THRESHOLD_1_4 USART_CR3_RXFTCFG_0
0111 #define USART_RXFIFO_THRESHOLD_1_2 USART_CR3_RXFTCFG_1
0112 #define USART_RXFIFO_THRESHOLD_3_4 (USART_CR3_RXFTCFG_0|USART_CR3_RXFTCFG_1)
0113 #define USART_RXFIFO_THRESHOLD_7_8 USART_CR3_RXFTCFG_2
0114 #define USART_RXFIFO_THRESHOLD_8_8 (USART_CR3_RXFTCFG_2|USART_CR3_RXFTCFG_0)
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135
0136
0137
0138 #define USART_MASK_COMPUTATION(__HANDLE__) \
0139 do { \
0140 if ((__HANDLE__)->Init.WordLength == USART_WORDLENGTH_9B) \
0141 { \
0142 if ((__HANDLE__)->Init.Parity == USART_PARITY_NONE) \
0143 { \
0144 (__HANDLE__)->Mask = 0x01FFU; \
0145 } \
0146 else \
0147 { \
0148 (__HANDLE__)->Mask = 0x00FFU; \
0149 } \
0150 } \
0151 else if ((__HANDLE__)->Init.WordLength == USART_WORDLENGTH_8B) \
0152 { \
0153 if ((__HANDLE__)->Init.Parity == USART_PARITY_NONE) \
0154 { \
0155 (__HANDLE__)->Mask = 0x00FFU; \
0156 } \
0157 else \
0158 { \
0159 (__HANDLE__)->Mask = 0x007FU; \
0160 } \
0161 } \
0162 else if ((__HANDLE__)->Init.WordLength == USART_WORDLENGTH_7B) \
0163 { \
0164 if ((__HANDLE__)->Init.Parity == USART_PARITY_NONE) \
0165 { \
0166 (__HANDLE__)->Mask = 0x007FU; \
0167 } \
0168 else \
0169 { \
0170 (__HANDLE__)->Mask = 0x003FU; \
0171 } \
0172 } \
0173 else \
0174 { \
0175 (__HANDLE__)->Mask = 0x0000U; \
0176 } \
0177 } while(0U)
0178
0179
0180
0181
0182
0183
0184 #define IS_USART_WORD_LENGTH(__LENGTH__) (((__LENGTH__) == USART_WORDLENGTH_7B) || \
0185 ((__LENGTH__) == USART_WORDLENGTH_8B) || \
0186 ((__LENGTH__) == USART_WORDLENGTH_9B))
0187
0188
0189
0190
0191
0192
0193 #define IS_USART_NSS(__NSS__) (((__NSS__) == USART_NSS_HARD) || \
0194 ((__NSS__) == USART_NSS_SOFT))
0195
0196
0197
0198
0199
0200
0201 #define IS_USART_SLAVEMODE(__STATE__) (((__STATE__) == USART_SLAVEMODE_DISABLE ) || \
0202 ((__STATE__) == USART_SLAVEMODE_ENABLE))
0203
0204
0205
0206
0207
0208
0209 #define IS_USART_FIFO_MODE_STATE(__STATE__) (((__STATE__) == USART_FIFOMODE_DISABLE ) || \
0210 ((__STATE__) == USART_FIFOMODE_ENABLE))
0211
0212
0213
0214
0215
0216
0217 #define IS_USART_TXFIFO_THRESHOLD(__THRESHOLD__) (((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_1_8) || \
0218 ((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_1_4) || \
0219 ((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_1_2) || \
0220 ((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_3_4) || \
0221 ((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_7_8) || \
0222 ((__THRESHOLD__) == USART_TXFIFO_THRESHOLD_8_8))
0223
0224
0225
0226
0227
0228
0229 #define IS_USART_RXFIFO_THRESHOLD(__THRESHOLD__) (((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_1_8) || \
0230 ((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_1_4) || \
0231 ((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_1_2) || \
0232 ((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_3_4) || \
0233 ((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_7_8) || \
0234 ((__THRESHOLD__) == USART_RXFIFO_THRESHOLD_8_8))
0235
0236
0237
0238
0239
0240
0241
0242
0243
0244
0245
0246
0247
0248
0249 void HAL_USARTEx_RxFifoFullCallback(USART_HandleTypeDef *husart);
0250 void HAL_USARTEx_TxFifoEmptyCallback(USART_HandleTypeDef *husart);
0251
0252
0253
0254
0255
0256
0257
0258
0259
0260
0261 HAL_StatusTypeDef HAL_USARTEx_EnableSlaveMode(USART_HandleTypeDef *husart);
0262 HAL_StatusTypeDef HAL_USARTEx_DisableSlaveMode(USART_HandleTypeDef *husart);
0263 HAL_StatusTypeDef HAL_USARTEx_ConfigNSS(USART_HandleTypeDef *husart, uint32_t NSSConfig);
0264 HAL_StatusTypeDef HAL_USARTEx_EnableFifoMode(USART_HandleTypeDef *husart);
0265 HAL_StatusTypeDef HAL_USARTEx_DisableFifoMode(USART_HandleTypeDef *husart);
0266 HAL_StatusTypeDef HAL_USARTEx_SetTxFifoThreshold(USART_HandleTypeDef *husart, uint32_t Threshold);
0267 HAL_StatusTypeDef HAL_USARTEx_SetRxFifoThreshold(USART_HandleTypeDef *husart, uint32_t Threshold);
0268
0269
0270
0271
0272
0273
0274
0275
0276
0277
0278
0279
0280
0281
0282
0283
0284
0285 #ifdef __cplusplus
0286 }
0287 #endif
0288
0289 #endif
0290