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);


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就能看到
页: 1 [2]
查看完整版本: STM32F103C8使用TIM4中断会进入HardFault_Handler的问题