[STM32WB] STM32WB09KE+串口

[复制链接]
1386|2
 楼主| meiyaolei 发表于 2024-11-19 18:51 | 显示全部楼层 |阅读模式
STM32WB09KE有几路串口,下面我进行串口配置、通信参数以及实际应用等方面进行描述出来。

一、STM32WB09KE串口概述
STM32WB09KE是STMicroelectronics推出的一款微控制器,它集成了USART(通用同步/异步收发器)和LPUART(低功耗UART)两种串口接口。
这些接口使得STM32WB09KE能够与各种外部设备进行串行通信,串口屏、双PWM调节模块、超声波测距仪、数据记录模块等。

二、原理图
了解串口的连接位置与引脚。

WB09KE板:

60787673c6c4f2871e.png
33445673c6c5e78c21.png

下面的是底板:
43659673c6c789ed24.png

43052673c6caa936f9.png
48884673c6ccaf4214.png
三、串口配置
STM32WB09KE的串口配置多个关键参数,包括波特率、数据位、停止位、校验位以及流控等。

波特率:指串口传输的速率,STM32WB09KE的串口可以支持多种波特率,9600bps、115200bps等。用户可以根据实际需要进行设置。
数据位:指串口传输的一个字节中有效数据的位数。STM32WB09KE的串口支持的数据位有5位、6位、7位、8位等。
停止位:用于标识一个字节数据的传输结束。STM32WB09KE的串口支持的停止位有1位、2位等。
校验位:用于在串口传输数据时检查数据的有效性。STM32WB09KE的串口支持的校验位有无校验、奇校验、偶校验等。

95634673c6d5ec0be1.png


正确连接硬件后,设备:
35150673c6d81e9075.png

四、代码

  1.   /* Infinite loop */
  2.   /* USER CODE BEGIN WHILE */
  3.   printf("\r\nSTM32WB09KE Sysclk = %u Hz\r\n",SystemCoreClock);
  4.         printf("\r\n21IC STM32WB09KE \r\n");  
  5.         printf("\r\n bbs.21ic.com  \r\n");        
  1. static void MX_USART1_UART_Init(void)
  2. {

  3.   /* USER CODE BEGIN USART1_Init 0 */

  4.   /* USER CODE END USART1_Init 0 */

  5.   /* USER CODE BEGIN USART1_Init 1 */

  6.   /* USER CODE END USART1_Init 1 */
  7.   huart1.Instance = USART1;
  8.   huart1.Init.BaudRate = 115200;
  9.   huart1.Init.WordLength = UART_WORDLENGTH_8B;
  10.   huart1.Init.StopBits = UART_STOPBITS_1;
  11.   huart1.Init.Parity = UART_PARITY_NONE;
  12.   huart1.Init.Mode = UART_MODE_TX_RX;
  13.   huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  14.   huart1.Init.OverSampling = UART_OVERSAMPLING_16;
  15.   huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
  16.   huart1.Init.ClockPrescaler = UART_PRESCALER_DIV1;
  17.   huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
  18.   if (HAL_UART_Init(&huart1) != HAL_OK)
  19.   {
  20.     Error_Handler();
  21.   }
  22.   if (HAL_UARTEx_SetTxFifoThreshold(&huart1, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
  23.   {
  24.     Error_Handler();
  25.   }
  26.   if (HAL_UARTEx_SetRxFifoThreshold(&huart1, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
  27.   {
  28.     Error_Handler();
  29.   }
  30.   if (HAL_UARTEx_DisableFifoMode(&huart1) != HAL_OK)
  31.   {
  32.     Error_Handler();
  33.   }
  34.   /* USER CODE BEGIN USART1_Init 2 */

  35.   /* USER CODE END USART1_Init 2 */

  36. }
五、输出结果
75684673c6dbb225e3.jpg

szt1993 发表于 2024-11-20 11:18 | 显示全部楼层
串口通讯还是比较稳定的
21mengnan 发表于 2024-11-28 18:42 | 显示全部楼层
除了蓝牙,其他跟STM32一样一样的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:工程师
简介:超越自我,为设计激发灵感和想象。

263

主题

836

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部