找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1384|回复: 9
打印 上一主题 下一主题
收起左侧

关于STM32F401时钟初始化卡住的问题

[复制链接]
跳转到指定楼层
楼主
我用STM32CubeMX生成了一个程序,下到单片机跑仿真时,会在HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2)这里面的pllvco = (uint32_t) ((((uint64_t) HSE_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm);中卡住不动了。

程序.png (36.5 KB, 下载次数: 89)

程序.png

卡住.png (35.84 KB, 下载次数: 64)

卡住.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2023-5-24 15:31 | 只看该作者
调用别人的函数,先了解一下函数的使用说明。
回复

使用道具 举报

板凳
ID:744809 发表于 2023-5-24 15:59 | 只看该作者
检查你的板子有没有晶振吧,可能板子上没晶振,cubemx里面设置了晶振就会出问题。建议先用内部HSI做时钟源再试试
回复

使用道具 举报

地板
ID:1045600 发表于 2023-5-24 16:23 | 只看该作者
我绕过PLL直接把外部8M的晶振信号给系统时钟就可以运行。然后我又在cubemx设置了用HSI,结果是跟HSE一样,在相同的地方卡住
回复

使用道具 举报

5#
ID:1045600 发表于 2023-5-24 16:24 | 只看该作者
这是电路图

F401.png (125 KB, 下载次数: 64)

F401.png
回复

使用道具 举报

6#
ID:384109 发表于 2023-5-24 16:51 | 只看该作者
应该还是参数配置的问题,用cubemx最简单的是选晶振源,然后选主频,之后让cubemx自己配置
回复

使用道具 举报

7#
ID:1077536 发表于 2023-5-24 17:02 | 只看该作者
调用别人的函数,先了解一下函数的使用说明。
回复

使用道具 举报

8#
ID:388584 发表于 2024-4-7 23:01 | 只看该作者
UINT64 溢出了,
pllvco = (uint32_t) ((((uint64_t) HSE_VALUE / (uint64_t)pllm) * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos))));
这样就ok
回复

使用道具 举报

9#
ID:388584 发表于 2024-4-7 23:03 | 只看该作者
pllvco = (uint32_t) ((((uint64_t) HSE_VALUE / (uint64_t)pllm) * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos))));
回复

使用道具 举报

10#
ID:883242 发表于 2024-4-7 23:39 | 只看该作者
这是硬件故障,HSE没起振,用示波器看下6脚oscout波形。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表