你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stmL5系列,HAL库如何设置Lpuart APB clock domain

[复制链接]
xybxj 提问时间:2024-12-20 17:18 / 未解决

你好,看到手册描述LPUart1可以工作在APB clock domain,请问用HAL库如何设置,谢谢!

image.png

下面代码应该为independent clock设置,对吧?

void HAL_UART_MspInit(UART_HandleTypeDef huart) { GPIO_InitTypeDef GPIO_InitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; if(huart->Instance==LPUART1) { / USER CODE BEGIN LPUART1_MspInit 0 */

/ USER CODE END LPUART1_MspInit 0 /

/ Initializes the peripherals clock** */ *PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LPUART1; PeriphClkInit.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_HSI; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)** { Error_Handler(); }

/ Peripheral clock enable / __HAL_RCC_LPUART1_CLK_ENABLE();

__HAL_RCC_GPIOB_CLK_ENABLE(); /*LPUART1 GPIO Configuration PB10 ------> LPUART1_RX PB11 ------> LPUART1_TX /

image.png
收藏 评论3 发布时间:2024-12-20 17:18

举报

3个回答
xmshao 回答时间:2024-12-20 17:35:01
你使用cubeMx配置,相应外设的时钟使能在创建工程后的初始化代码里 都有做了使能操作。


另外,不建议使用L5系列做产品开发了,可以看看U5 H5 等系列。
橘生 回答时间:2024-12-21 09:53:44

蹲一个解答

xmshao 回答时间:2024-12-22 09:58:01
看来我这里需要稍微补充下。
数据手册这个地方的写法稍微有点乱。我们简单点,对于很多外设往往涉及2种时钟,
一个是外设总线时钟,一个是外设工作时钟。前者是给CPU或DMA访问外设寄存器用的
,实现对外设的控制和状态获取,后者是外设工作时用到的时钟,以UART为例就是
它通信时使用的时钟,以TIMER为例就是它计数的时钟。


我们不扯多了,重点聊聊你现在关于LPUART的时钟。它有两个时钟:
Usart_pclk 和 lpuart_ker_ck,且后者独立于前者,你可以把后者理解成这里说的独立时钟。


Usart_pclk就是我上面说的外设总线时钟,没得选,外设挂在什么总线就走什么总线来访问
它的寄存器。 lpuart_ker_ck是UART通讯时用到的时钟,比方波特率的是基于该时钟和寄存器配置
得到。它是可选的,在CubeMx那里有好几个选项就是针对lpuart_ker_ck的。


不过,在基于CubeMx生成的代码里,相应变量写法跟手册描述并未对应。假设我们在Cubemx
选择lpuart_ker_ck来自HSI.


我们可以看到工程里的配置代码是这样的:


PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LPUART1;
  PeriphClkInit.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_HSI;


第一项配置就是指配置UART的外设总线时钟,下方是它的工作时钟配置,也就是你
提到的独立时钟。


这样设计的好处,一是让外设工作时钟有更多的选择自由度;具体到这里,还有个好处,
即使外设总线时钟因低功耗模式停了,还可以基于外设工作时钟继续工作,比方我将
上面的工作时钟改成LSI或LSE.
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版