STM32使用内部时钟HSI作为系统时钟及配置Systick定时器

本文介绍了STM32如何使用内部时钟HSI作为系统时钟,并详细讲解了配置Systick定时器的过程,包括Systick的4个寄存器功能及其操作。内容涉及SystemInit函数、时钟树配置、Systick控制寄存器的位解释,以及如何根据系统主频调整计数器。此外,还提供了在64MHz主频下可能遇到的串口问题解决方案。
摘要由CSDN通过智能技术生成

参考:https://blog.csdn.net/huangyangquan/article/details/78790443

          https://www.cnblogs.com/dustinzhu/p/4149906.html

    在系统启动阶段,在进入main函数之前,系统先进入SystemInit函数,代码如下:

; Reset handler
Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
     IMPORT  __main
     IMPORT  SystemInit
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP

在SystemInit函数中配置系统时钟,根据系统时钟定义自动选择系统时钟配置函数,代码如下所示(设置系统时钟为72MHz):

#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE    HSE_VALUE */
 #define SYSCLK_FREQ_24MHz  24000000
#else
/* #define SYSCLK_FREQ_HSE    HSE_VALUE */
/* #define SYSCLK_FREQ_24MHz  24000000 */ 
/* #define SYSCLK_FREQ_36MHz  36000000 */
/* #define SYSCLK_FREQ_48MHz  48000000 */
/* #define SYSCLK_FREQ_56MHz  56000000 */
#define SYSCLK_FREQ_72MHz  72000000
#endif
/*******************************************************************************
*  Clock Definitions
*******************************************************
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值