[STM32U0] 【STM32U083测评】4,LPUART测试

[复制链接]
 楼主| ddllxxrr 发表于 2024-4-27 22:01 | 显示全部楼层 |阅读模式
<
LPUART是一种UART,它可以在有限的功耗下实现双向UART通信。只需要32.768 kHz LSE时钟来启用高达9600包的UART通信。当LPUART由不同于LSE时钟的时钟时钟源时钟时,可以达到更高的波特率。即使微控制器处于低功耗模式,LPUART也可以等待输入的UART帧,同时能耗极低。LPUART包括所有必要的硬件支持,以使异步串行通信成为可能与最小的功耗。它支持半双工单线通信和调制解调器操作(CTS/RTS)。它还支持多处理器通信。DMA(直接存储器存取)可用于数据传输/接收。全双工异步通信NRZ标准格式(标记/空间)
可编程波特率从300波特到9600波特,使用32.768 kHz时钟源。
•通过使用更高频率的时钟源,可以实现更高的波特率。两个内部FIFO来传输和接收数据,每个FIFO可以被软件启用/禁用,并附带FIFO状态的状态标志。
•双时钟域与专用的内核时钟的外设独立于PCLK。
•可编程数据字长度(7或8或9位)
可编程数据顺序与MSB-第一或LSB-第一移动可配置停止位(1或2停止位)
单线半双工通信使用DMA接收/传输字节的连续通信在保留SRAM使用集中DMA缓冲。
•发射器和接收器的单独启用位为传输和接收的独立信号极性控制可交换Tx/Rx针脚配置调制解调器和RS485收发器的硬件流量控制


从字面上看这款LPUART十分强大,强大到有点超乎我的想象。因为它是在低功耗下可以运行的。以前想都不敢想。


首先,选则LPUSART3,有的看官会问为什么选LPUSART3,我只是为了我引线方便。
屏幕截图 2024-04-27 215310.png

在生成代码的高级选项里选择用LL库,不用LL库好像搞不了LPUSART
屏幕截图 2024-04-27 212912.png

然后就可以外接一个USB转串,来测试一下这个LPUSART3好用不啦?

屏幕截图 2024-04-27 212809.png


我是个报喜不报忧的人,大家看到的,是我发0X55时的截图。

我发别的就不这么理想,有不对的地方,我想是同运行时钟有很大的关系。

以下是代码,不断地发0X55,而这个0x55在程序上面定义的数组。
  1. /* Infinite loop */
  2.   /* USER CODE BEGIN WHILE */
  3.   while (1)
  4.   {
  5.     HAL_Delay(1000);
  6.                 if(my_flag == 1)
  7.                 {
  8.                         my_flag = 0;
  9.                         BSP_LED_Toggle(LED_GREEN);
  10.                   HAL_Delay(1000);
  11.                 }
  12.                 for (index = 0; index < sizeof(aTextInfo); index++)
  13.   {
  14.     /* Wait for TXE flag to be raised */
  15.     while (!LL_LPUART_IsActiveFlag_TXE(LPUART3))
  16.     {
  17.     }

  18.     /* Write character in Transmit Data register.
  19.        TXE flag is cleared by writing data in TDR register */
  20.     LL_LPUART_TransmitData8(LPUART3, aTextInfo[index]);
  21.                 /* Wait for TC flag to be raised for last char */
  22.   while (!LL_LPUART_IsActiveFlag_TC(LPUART3));
  23.   }

  24.   
  25.                
  26.     /* USER CODE END WHILE */

  27.     /* USER CODE BEGIN 3 */
  28.   }

  29.   /* USER CODE END 3 */
  30. }




电子烂人 发表于 2024-5-2 12:40 | 显示全部楼层
s
厉害,大佬还用的LL库,学习了
电子烂人 发表于 2024-5-2 12:46 | 显示全部楼层
s
HAL貌似是可以用于LPUART的?我用的语法和普通UART一样,不知道是不是没激活低功耗模式
纠结的那些年 发表于 2024-8-31 16:13 | 显示全部楼层
s
LPUART支持全双工和半双工通信模式,适应不同的应用需求。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2404

主题

6995

帖子

68

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