野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 18323|回复: 4

SysTick_Config(SystemCoreClock / 100000)中的SystemCoreClock是默认72M吗?

[复制链接]
发表于 2015-7-14 12:01:36 | 显示全部楼层 |阅读模式
本帖最后由 菊花终结者 于 2015-7-14 12:06 编辑

用的是HD版
SystemCoreClock在头文件有几个频率选择,但是这里
  1. #if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
  2. /* #define SYSCLK_FREQ_HSE    HSE_VALUE */
  3. #define SYSCLK_FREQ_24MHz  24000000
  4. #else
  5. /* #define SYSCLK_FREQ_HSE    HSE_VALUE */
  6. /* #define SYSCLK_FREQ_24MHz  24000000 */
  7. /* #define SYSCLK_FREQ_36MHz  36000000 */
  8. /* #define SYSCLK_FREQ_48MHz  48000000 */
  9. /* #define SYSCLK_FREQ_56MHz  56000000 */
  10. #define SYSCLK_FREQ_72MHz  72000000
  11. #endif
复制代码
如果想先经过8分频再给STSTICK的话,是不是要“将#define SYSCLK_FREQ_9MHz  9000000:改成这样?
还有这里
  1. /*******************************************************************************
  2. *  Clock Definitions
  3. *******************************************************************************/
  4. #ifdef SYSCLK_FREQ_HSE
  5.   uint32_t SystemCoreClock         = SYSCLK_FREQ_HSE;        /*!< System Clock Frequency (Core Clock) */
  6. #elif defined SYSCLK_FREQ_24MHz
  7.   uint32_t SystemCoreClock         = SYSCLK_FREQ_24MHz;        /*!< System Clock Frequency (Core Clock) */
  8. #elif defined SYSCLK_FREQ_36MHz
  9.   uint32_t SystemCoreClock         = SYSCLK_FREQ_36MHz;        /*!< System Clock Frequency (Core Clock) */
  10. #elif defined SYSCLK_FREQ_48MHz
  11.   uint32_t SystemCoreClock         = SYSCLK_FREQ_48MHz;        /*!< System Clock Frequency (Core Clock) */
  12. #elif defined SYSCLK_FREQ_56MHz
  13.   uint32_t SystemCoreClock         = SYSCLK_FREQ_56MHz;        /*!< System Clock Frequency (Core Clock) */
  14. #elif defined SYSCLK_FREQ_72MHz
  15.   uint32_t SystemCoreClock         = SYSCLK_FREQ_72MHz;        /*!< System Clock Frequency (Core Clock) */
  16. #else /*!< HSI Selected as System Clock source */
  17.   uint32_t SystemCoreClock         = HSI_VALUE;        /*!< System Clock Frequency (Core Clock) */
  18. #endif
复制代码
添加一个
  1. #elif defined SYSCLK_FREQ_9MHz
  2. uint32_t SystemCoreClock = SYSCLK_FREQ_9MHz; /*!< System Clock Frequency (Core Clock) */
复制代码
是这样吗?谢谢



回复

使用道具 举报

发表于 2015-7-14 13:55:35 | 显示全部楼层
SystemCoreClock是默认72M,,一般来说这个不要改,因为这个时钟频率是这款芯片可以支持的最高频率了,没有特殊情况不会改它的
因为你只能改小不能改大,改小的效果就是stm32运行速度下降
如果你只是想配置滴答定时器SysTick_Config而实现不同时间间隔的话,按照SystemCoreClock / 100000这个来调整时间,《零角度玩转stm32-v2》里边也有讲解这部分内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-14 14:09:18 | 显示全部楼层
亽亼 发表于 2015-7-14 13:55
SystemCoreClock是默认72M,,一般来说这个不要改,因为这个时钟频率是这款芯片可以支持的最高频率了,没有 ...

SysTick与芯片运行速度没关系吧?只是定时器而已?
如果我非要改,这样行不行?
回复 支持 反对

使用道具 举报

发表于 2015-7-14 15:24:34 | 显示全部楼层
SysTick与芯片运行速度也不是完全没关系,那个滴答定时器频率是无法比系统时钟频率大的
如果你非要改的话9M也是可以的,只是这样有点像中国的高铁本可以跑400公里/小时你硬是要他降速到50公里/小时,这样你还倒不如用51单片机算了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-14 16:12:40 | 显示全部楼层
亽亼 发表于 2015-7-14 15:24
SysTick与芯片运行速度也不是完全没关系,那个滴答定时器频率是无法比系统时钟频率大的
如果你非要改的话9 ...

谢谢!!!!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-9 21:59 , Processed in 0.036999 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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