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

STM32F103C8使用TIM4中断会进入HardFault_Handler的问题

[复制链接]
a707083746 提问时间:2018-9-10 19:56 /
阅读主题, 点击返回1楼
收藏 评论13 发布时间:2018-9-10 19:56
13个回答
a707083746 回答时间:2018-9-11 20:14:56
本帖最后由 a707083746 于 2018-9-12 11:57 编辑

问题解决了,找到两个原因:
1、PCLK1设置为48MHz,超过了最大值36MHz;
2、读取flash的等待周期为0,而系统时钟为48Mhz应该为1(2也可以,但发现__NOP();用时会长一点)。
在网上找到了这样的解析
// SYSCLK周期与闪存访问时间的比例设置,这里统一设置成2
// 设置成2的时候,SYSCLK低于48M也可以工作,如果设置成0或者1的时候,
// 如果配置的SYSCLK超出了范围的话,则会进入硬件错误,程序就死了
// 0:0 < SYSCLK <= 24M
// 1:24< SYSCLK <= 48M
// 2:48< SYSCLK <= 72M
    FLASH_SetLatency(FLASH_Latency_1);


PCLK1.png
PCLK1_PDF.png
dengyijun103 回答时间:2018-9-20 17:21:38
pjzmj2012 回答时间:2020-3-30 14:20:28
RCC_Clocks的数值是变量watch窗口看的吗?我怎么看不了啊
a707083746 回答时间:2020-4-23 08:29:05
pjzmj2012 发表于 2020-3-30 14:20
RCC_Clocks的数值是变量watch窗口看的吗?我怎么看不了啊

可以看啊。打个断点,在call Stack + Locals就能看到
12
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版