STM32WB09KE有几路串口,下面我进行串口配置、通信参数以及实际应用等方面进行描述出来。
一、STM32WB09KE串口概述 STM32WB09KE是STMicroelectronics推出的一款微控制器,它集成了USART(通用同步/异步收发器)和LPUART(低功耗UART)两种串口接口。 这些接口使得STM32WB09KE能够与各种外部设备进行串行通信,串口屏、双PWM调节模块、超声波测距仪、数据记录模块等。
二、原理图 了解串口的连接位置与引脚。
WB09KE板:
下面的是底板:
三、串口配置 STM32WB09KE的串口配置多个关键参数,包括波特率、数据位、停止位、校验位以及流控等。
波特率:指串口传输的速率,STM32WB09KE的串口可以支持多种波特率,9600bps、115200bps等。用户可以根据实际需要进行设置。 数据位:指串口传输的一个字节中有效数据的位数。STM32WB09KE的串口支持的数据位有5位、6位、7位、8位等。 停止位:用于标识一个字节数据的传输结束。STM32WB09KE的串口支持的停止位有1位、2位等。 校验位:用于在串口传输数据时检查数据的有效性。STM32WB09KE的串口支持的校验位有无校验、奇校验、偶校验等。
正确连接硬件后,设备:
四、代码
/* Infinite loop */
/* USER CODE BEGIN WHILE */
printf("\r\nSTM32WB09KE Sysclk = %u Hz\r\n",SystemCoreClock);
printf("\r\n21IC STM32WB09KE \r\n");
printf("\r\n bbs.21ic.com \r\n");
static void MX_USART1_UART_Init(void)
{
/* USER CODE BEGIN USART1_Init 0 */
/* USER CODE END USART1_Init 0 */
/* USER CODE BEGIN USART1_Init 1 */
/* USER CODE END USART1_Init 1 */
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;
if (HAL_UART_Init(&huart1) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart1, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart1, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN USART1_Init 2 */
/* USER CODE END USART1_Init 2 */
}
五、输出结果
|