完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32f407系统定时器时钟配置、计算
1. 外部晶振的选择 ##确定自己单片机的外部晶振 系统默认配置为25M,即打开官方库文件参数HSE Frequency(Hz) 一般为25000000 HSE Frequency(Hz) | 25000000 ---------- #if !defined (HSE_VALUE) #define HSE_VALUE ((uint32_t)25000000) /*!《Value of the External oscillator in Hz */ #endif /* HSE_VALUE */ 。.. 。.. 。.. 我自己的单片机外部晶振为8M,将参数改为8000000 2. 系统时钟确定 2.1 改完之后参照stm32f4时钟树 2.2 首先明确自己的系统总时钟 找到自己程序PLL Parameters部分(工程system_stm32f4xx.c) /************************* PLL Parameters***************************/ /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ //锁相环压腔振荡器时钟 //PLL_VCO =(HSE_VALUE/PLL_M)* PLL_N=8/ 8* 336 = 336MHz #define PLL_M 8 #define PLL_N 336 /* SYSCLK = PLL_VCO / PLL_P */ // 系统时钟SYSCLK = PLL_VCO / PLL_P=336 / 2 = 168MHz #define PLL_P 2 /* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ //USB,SD卡时钟= PLL_VCO / PLLQ=336 / 7 = 48MHz #define PLL_Q 7 /*******************************************************************/ 3. 计算出自己系统时钟为168M ##3.1 对应时钟线 这里需要计算各个定时器分配所得的计数时钟频率 3.2 找到APB1,APB2配置部分 3.3 程序位置 /* Select regulator voltage output Scale 1 mode, System frequency up to 168 MHz */ RCC-》APB1ENR |= RCC_APB1ENR_PWREN; PWR-》CR |= PWR_CR_VOS; /* HCLK = SYSCLK / 1*/ RCC-》CFGR |= RCC_CFGR_HPRE_DIV1; /* PCLK2 = HCLK / 2*/ RCC-》CFGR |= RCC_CFGR_PPRE2_DIV2; /* PCLK1 = HCLK / 4*/ RCC-》CFGR |= RCC_CFGR_PPRE1_DIV4; /* Configure the main PLL */ RCC-》PLLCFGR = PLL_M | (PLL_N 《《 6) | (((PLL_P 》》 1) -1) 《《 16) | (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q 《《 24); 3.4 位置计算 15:13位为 010 -----》AHB2 不分频 12:10位为 101 -----》AHB1 4分频 e. 原则“非1即2” 明确APB1得到时钟84M,APB2计数时钟频率168M 4. 系统默认情况: 4.1 定时周期、频率的计算 /*************************************************** *默认配置:外部时钟启动失败,系统会自动使用内部时钟 *HCLK = SYSCLK / 1 = 168MHz ,AHB×总线时钟 *PCLK2 = HCLK / 2 = 84MHz *PCLK1 = HCLK / 4 = 42MHz * arr:自动重装载值 * psc:时钟预分频树 * 定时器溢出时间计算方法:Tout=((arr+1)*(psc+1))/Ft us. * Ft=定时器工作频率,单位:Mhz *****************************************************/ 4.2 实例验证演示 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1627 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1550 浏览 1 评论
984 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
688 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1601 浏览 2 评论
1867浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
650浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
518浏览 3评论
536浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 11:21 , Processed in 0.524987 second(s), Total 46, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号