OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2336|回复: 1

F105与F103的时钟差异问题

[复制链接]

12

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2018-6-27
在线时间
28 小时
发表于 2019-9-15 18:10:44 | 显示全部楼层 |阅读模式
10金钱
F105是互联网型,使用宏定义 STM32F10X_CL,同时之前F103的程序是使用STM32F10X_HD,将F103的工程改成F105后,首先需要改这个宏定义,而且由于我F105的板子同F103的板子完全一样除了MCU,都是使用8MHZ晶振,因此也将 stm32f10x.h 文件中的#define HSE_VALUE    ((uint32_t)25000000) 改为了 8000000,且system_stm32f10x.c 文件中SetSysClockTo72(void)函数对应位置也改为 RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV2 | RCC_CFGR2_PLL2MUL10 |RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);

这样原F103的程序已经完成迁移成F105的,测试大部分功能正常,但在一个使用延时等待读GPIO电位变化的地方出现异常,
然后屏蔽所有功能单独循环做
WRITE(PA0,HIGH);
delay(10);
WRITE(PA0,LOW);
delay(10);
通过抓波发现延迟时间变长了,延迟函数如下:


static inline void _delay_us(uint32_t usec) {
  uint32_t n = 1+ usec * 12;
        for(;n>0;n--)
                __nop();
}

static inline void delay(uint32_t msec){
        _delay_us(1000*msec);
}


同样的程序在F103中等待10ms的地方,在F105却要等待16ms,分别调试F103和F105的板子,HCK PCLK ,所有时钟都是一样,系统时钟都是72MHZ。
奇怪的地方在此:在程序中设置外设时钟的地方有个RCC_ADCCLKConfig(RCC_PCLK2_Div4); 去掉这个设置ADC时钟,F105延迟时间正常为10ms,但F103的延迟却变成16ms,保留此代码延迟10ms,F105为16ms,F103为10ms,为什么设置ADC时钟会对延迟等待有影响,F105和F103影响还正好相反。
以下是我的main函数及系统初始化部分代码:
int main(){
SystemInit();
SystemCoreClockUpdate();

USART_OverSampling8Cmd(USART1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);
RCC_ADCCLKConfig(RCC_PCLK2_Div4);

SysTick_Init(SysTick_CLKSource_HCLK_Div8);
RCC_ClocksTypeDef rcc_cl;
RCC_GetClocksFreq(&rcc_cl);

while(1)
{
WRITE(PA0,HIGH);
delay(10);
WRITE(PA0,LOW);
delay(10);
}
}
这是为什么?

最佳答案

查看完整内容[请看2#楼]

莫名奇怪变这样背景色,请原子哥删帖
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2018-6-27
在线时间
28 小时
 楼主| 发表于 2019-9-15 18:10:45 | 显示全部楼层
莫名奇怪变这样背景色,请原子哥删帖
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 10:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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