[其他ST产品] 用cubemx配置时钟会生成的LL库的system clock函数会有 LL_FLASH_SetLatency(LL_FLASH_LATENCY_5),whil

[复制链接]
2396|15
 楼主| elephant00 发表于 2024-2-10 17:09 | 显示全部楼层 |阅读模式
用cubemx配置时钟会生成的LL库的system clock函数会有 LL_FLASH_SetLatency(LL_FLASH_LATENCY_5),while(LL_FLASH_GetLatency()!= LL_FLASH_LATENCY_5) { },while (LL_PWR_IsActiveFlag_VOS() == 0) { }导致硬件仿真时main函数无法进入。想问一下这几个为什么会卡住程序,以及如何避免第三个函数的出现。(官网下的程序可以正常跑)
一秒落纱 发表于 2024-3-21 08:35 | 显示全部楼层
LL库中的这些函数和循环用于配置和等待系统时钟和电源的稳定状态。在硬件仿真时,可能会出现这些函数导致程序卡住的情况。
远山寻你 发表于 2024-3-21 11:00 | 显示全部楼层
函数和循环用于配置和等待Flash存储器的访问延迟设置
三生万物 发表于 2024-3-21 13:00 | 显示全部楼层
其实你可以仿真看看的,看看程序怎么执行的
暖了夏天蓝了海 发表于 2024-3-21 15:00 | 显示全部楼层
循环用于等待电源调节器的稳定状态。在仿真时,可能不需要等待电源调节器的稳定状态。
别乱了阵脚 发表于 2024-3-21 17:00 | 显示全部楼层
你可以尝试在仿真时跳过这个循环,或者在仿真时使用较小的电源调节器设置
冰春彩落下 发表于 2024-3-21 19:00 | 显示全部楼层
为了避免这些函数在仿真时导致程序卡住,你可以在仿真时跳过这些函数和循环,或者根据仿真环境的特点进行相应的调整
夜阑风雨 发表于 2024-3-21 21:00 | 显示全部楼层
我觉得仿真的结果和实际的结果有出入是正常的,仿真是理想状态下
江河千里 发表于 2024-3-21 23:00 | 显示全部楼层
确保你的仿真环境与官方示例程序的环境相似,包括仿真器、仿真器设置、仿真器驱动程序等
淡漠安然 发表于 2024-3-22 01:00 | 显示全部楼层
我觉得是不是缺一个函数啊,就是system_init()这个函数啊
光辉梦境 发表于 2024-3-22 03:00 | 显示全部楼层
你用HAL呗,HAL比较简单而且还容易使用
cen9ce 发表于 2024-4-7 16:30 | 显示全部楼层
LL库中的这些函数和宏用于配置和初始化微控制器的内部Flash存储器和电源管理模块。在使用这些函数时,可能会出现程序卡住的情况,主要原因可能是由于Flash存储器的配置不正确或者电源管理模块的状态未正确设置
q1ngt12 发表于 2024-4-7 17:34 | 显示全部楼层
在初始化阶段,微控制器的Flash存储器需要根据时钟频率设置合适的延迟以确保正常工作。如果这些设置不正确,可能会导致Flash存储器读取错误或写入错误,从而导致程序卡住或出现异常。
lamanius 发表于 2024-4-7 18:36 | 显示全部楼层
while (LL_PWR_IsActiveFlag_VOS() == 0) { }:这个函数用于等待电源管理模块的VOS标志位被设置。VOS标志位表示电压调节器的输出级别是否已经稳定。如果电源管理模块的状态未正确设置,可能会导致程序在这里卡住。
p0gon9y 发表于 2024-4-7 19:38 | 显示全部楼层
如果想解决,确保使用的时钟配置和电源管理配置与你的硬件环境相匹配。例如,时钟频率、电压调节器的输出级别等需要根据硬件规格进行正确设置
q1d0mnx 发表于 2024-4-7 21:00 | 显示全部楼层
建议使用的LL库版本和官方示例程序中使用的版本一致,有时不同版本的库可能会有不同的行为。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1031

主题

3946

帖子

7

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