Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c')
-rw-r--r--Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c148
1 files changed, 53 insertions, 95 deletions
diff --git a/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c
index 8ea61633f..3c842b29a 100644
--- a/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c
+++ b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c
@@ -61,123 +61,81 @@ void (*HW_hlpuart1TxCb)(void);
#endif
/* Functions Definition ------------------------------------------------------*/
-#if (CFG_HW_LPUART1_ENABLED == 1)
-/**
- * @brief LPUART1 Initialization Function
- * @param None
- * @retval None
- */
-void MX_LPUART1_UART_Init(void)
-{
- hlpuart1.Instance = LPUART1;
- hlpuart1.Init.BaudRate = 115200;
- hlpuart1.Init.WordLength = UART_WORDLENGTH_8B;
- hlpuart1.Init.StopBits = UART_STOPBITS_1;
- hlpuart1.Init.Parity = UART_PARITY_NONE;
- hlpuart1.Init.Mode = UART_MODE_TX_RX;
- hlpuart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- hlpuart1.Init.OverSampling = UART_OVERSAMPLING_16;
- hlpuart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
- hlpuart1.Init.ClockPrescaler = UART_PRESCALER_DIV1;
- hlpuart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
- hlpuart1.FifoMode = UART_FIFOMODE_DISABLE;
- if (HAL_UART_Init(&hlpuart1) != HAL_OK)
- {
- Error_Handler();
- }
- if (HAL_UARTEx_SetTxFifoThreshold(&hlpuart1, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
- {
- Error_Handler();
- }
- if (HAL_UARTEx_SetRxFifoThreshold(&hlpuart1, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
- {
- Error_Handler();
- }
- if (HAL_UARTEx_DisableFifoMode(&hlpuart1) != HAL_OK)
- {
- Error_Handler();
- }
-}
-void MX_LPUART1_UART_DeInit(void)
+void MX_UART_Init(hw_uart_id_t uart)
{
- hlpuart1.Instance = LPUART1;
- hlpuart1.Init.BaudRate = 115200;
- hlpuart1.Init.WordLength = UART_WORDLENGTH_8B;
- hlpuart1.Init.StopBits = UART_STOPBITS_1;
- hlpuart1.Init.Parity = UART_PARITY_NONE;
- hlpuart1.Init.Mode = UART_MODE_TX_RX;
- hlpuart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- hlpuart1.Init.OverSampling = UART_OVERSAMPLING_16;
- hlpuart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
- hlpuart1.Init.ClockPrescaler = UART_PRESCALER_DIV1;
- hlpuart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
- hlpuart1.FifoMode = UART_FIFOMODE_DISABLE;
- if (HAL_UART_DeInit(&hlpuart1) != HAL_OK)
- {
- Error_Handler();
- }
-}
+ UART_HandleTypeDef *handle = NULL;
+ USART_TypeDef *instance = NULL;
+ switch(uart){
+ case hw_uart1:
+#if (CFG_HW_USART1_ENABLED != 1)
+ return;
#endif
-
-#if (CFG_HW_USART1_ENABLED == 1)
-/**
- * @brief USART1 Initialization Function
- * @param None
- * @retval None
- */
-void MX_USART1_UART_Init(void)
-{
- huart1.Instance = USART1;
- huart1.Init.BaudRate = 115200;
- huart1.Init.WordLength = UART_WORDLENGTH_8B;
- huart1.Init.StopBits = UART_STOPBITS_1;
- huart1.Init.Parity = UART_PARITY_NONE;
- huart1.Init.Mode = UART_MODE_TX_RX;
- huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- huart1.Init.OverSampling = UART_OVERSAMPLING_16;
- huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
- huart1.Init.ClockPrescaler = UART_PRESCALER_DIV1;
- huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
- huart1.FifoMode = UART_FIFOMODE_DISABLE;
- if (HAL_UART_Init(&huart1) != HAL_OK)
+ handle = &huart1;
+ instance = USART1;
+ break;
+ case hw_lpuart1:
+#if (CFG_HW_LPUART1_ENABLED != 1)
+ return;
+#endif
+ handle = &hlpuart1;
+ instance = LPUART1;
+ break;
+ default: Error_Handler();
+ }
+ handle->Instance = instance;
+ handle->Init.BaudRate = 115200;
+ handle->Init.WordLength = UART_WORDLENGTH_8B;
+ handle->Init.StopBits = UART_STOPBITS_1;
+ handle->Init.Parity = UART_PARITY_NONE;
+ handle->Init.Mode = UART_MODE_TX_RX;
+ handle->Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ handle->Init.OverSampling = UART_OVERSAMPLING_16;
+ handle->Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ handle->Init.ClockPrescaler = UART_PRESCALER_DIV1;
+ handle->AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ handle->FifoMode = UART_FIFOMODE_DISABLE;
+ if (HAL_UART_Init(handle) != HAL_OK)
{
Error_Handler();
}
- if (HAL_UARTEx_SetTxFifoThreshold(&huart1, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
+ if (HAL_UARTEx_SetTxFifoThreshold(handle, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
- if (HAL_UARTEx_SetRxFifoThreshold(&huart1, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
+ if (HAL_UARTEx_SetRxFifoThreshold(handle, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
- if (HAL_UARTEx_DisableFifoMode(&huart1) != HAL_OK)
+ if (HAL_UARTEx_DisableFifoMode(handle) != HAL_OK)
{
Error_Handler();
}
}
-void MX_USART1_UART_DeInit(void)
+void MX_UART_Deinit(hw_uart_id_t uart)
{
- huart1.Instance = USART1;
- huart1.Init.BaudRate = 115200;
- huart1.Init.WordLength = UART_WORDLENGTH_8B;
- huart1.Init.StopBits = UART_STOPBITS_1;
- huart1.Init.Parity = UART_PARITY_NONE;
- huart1.Init.Mode = UART_MODE_TX_RX;
- huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- huart1.Init.OverSampling = UART_OVERSAMPLING_16;
- huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
- huart1.Init.ClockPrescaler = UART_PRESCALER_DIV1;
- huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
- huart1.FifoMode = UART_FIFOMODE_DISABLE;
- if (HAL_UART_DeInit(&huart1) != HAL_OK)
+ UART_HandleTypeDef *handle = NULL;
+ switch(uart){
+ case hw_uart1:
+#if (CFG_HW_USART1_ENABLED != 1)
+ return;
+#endif
+ handle = &huart1;
+ break;
+ case hw_lpuart1:
+#if (CFG_HW_LPUART1_ENABLED != 1)
+ return;
+#endif
+ handle = &hlpuart1;
+ break;
+ default: Error_Handler();
+ }
+ if (HAL_UART_DeInit(handle) != HAL_OK)
{
Error_Handler();
}
}
-#endif
hw_status_t HW_UART_Receive_IT(hw_uart_id_t hw_uart_id, uint8_t *p_data, uint16_t size, void (*cb)(void))
{