最近移植stm32f103工程至stm32f105单片机中踩的坑,103工程直接原封不动下载到105单片机中,因为它们完全兼容,是可以正常运行的。但是如果一些配置不进行修改,很多功能(105具备但是103不具备的)是不能正常运行的

• 105属于互联网型产品,系统宏定义要改 STM32F10X_CL, USE_STDPERIPH_DRIVER
• 启动文件要换
• 如果发现时钟不正常(串口波特率、can通信速率等异常),这是因为stm32f105 为互联网型产品,默认外部接25MHz晶振,当外部接8MHz晶振时,需要作出如下修改○ 修改一://在system_stm32f10x.h文件中的static void SetSysClockTo72(void)函数(Line1030)中修改代码段。/* Configure PLLs ------------------------------------------------------// PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz // PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL |RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC);RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 |RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);改为/* Configure PLLs ------------------------------------------------------// PLL2 configuration: PLL2CLK = (HSE / 8) * 8 = 8 MHz // PREDIV1 configuration: PREDIV1CLK = PLL2 / 1 = 8 MHz */RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL |RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC);RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV8 | RCC_CFGR2_PLL2MUL8 |RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV1);○ 修改二://在stm32f10x.h文件中的Line117中修改宏定义将#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz /改为#define HSE_VALUE ((uint32_t)8000000) /!< Value of the External oscillator in Hz */

如果对您的问题有帮助的话可以帮忙点个赞,谢谢~QQ群:540093471 有问题大家可以一起交流沟通!

stm32f103移植到stm32f105的时钟问题相关推荐

  1. stm32f103移植ucosIII系统

    文章目录 一. 使用stmcubemax创建工程 二. 准备uCOSIII源码 三. 移植前准备 1. 在ucos源码中新建两个文件夹 2. 在uC-BSP文件夹下新建bsp.c和bsp.h文件 3. ...

  2. 基于STM32F103移植华为LiteOS物联网系统

    基于STM32F103移植华为LiteOS物联网系统 本实验是通过学习野火的<物联网操作系统 LiteOS开发实战指南>参考学习的. 1.移植前的准备 LiteOS 的源码可从 LiteO ...

  3. STM32F103移植mpu9250

    STM32F103移植mpu9250 1. 需求和来源 1.1. 基本配置 1.2. 遗留问题 2. 解决办法 2.1. libmpllib.lib 2.2. 空间不够 1. 需求和来源 回归技术的第 ...

  4. STM32F103移植FreeRTOS必须搞明白的系列知识---1(Cortex-CM3中断优先级)

    STM32F103移植FreeRTOS必须搞明白的系列知识---1(Cortex-CM3中断优先级) STM32F103移植FreeRTOS必须搞明白的系列知识---2(FreeRTOS任务优先级) ...

  5. STM32F103移植LiteOS之跑马灯实验

    相关文章: STM32F103移植LiteOS保姆级教程(基于Huawei-LiteOS-studio) STM32F103移植LiteOS保姆级教程(基于Ubuntu平台) 在编译通过且能成功烧录的 ...

  6. STM32F103移植uCOS-III

    本文主要叙述使用STM32F103C8T6移植uCOSIII操作系统,构建3个任务,以1s和3s洲际对LED进行点亮-熄灭控制,以2s周期通过串口发送"hello uc/OS! 欢迎来到RT ...

  7. 基于STM32F103移植FreeRTOS教程

    前言 本教程只针对移植实操,关于理论部分请另行百度学习. 本教程移植实操基于正点原子源码.教程手册进程移植. 移植实操 1.将正点原子跑马灯程序源码复制一份,添加一个文件夹对FreeRTOS源码进行管 ...

  8. STM32F105的时钟配置

    STM32F105库函数默认使用的是25MHZ晶振:    通过下面配置,最终得到系统时钟72MHZ:    /* PLL2 configuration: PLL2CLK = (HSE / 5) * ...

  9. stm32f103移植到f0_STM32F042替换STM32F103

    因为从事汽车CAN总线及多媒体解码盒,常常需要解一些简单的CAN数据,需要的硬件IO不多,仅仅是CAN+UART,所以最近为了节省成本,也是花了不少心思. 直到最近发现了STM32F042,据介绍,这 ...

最新文章

  1. AI 应届生就业意向大搜查,哪家企业才是大家的心仪首选?
  2. 我要做一个合格的网络工程师
  3. 软件开发必修课:你该知道的GRASP职责分配模式
  4. 2020年第十一届蓝桥杯 - 省赛 - Java研究生组+Java大学B组+Python大学组 - E.排序
  5. Linux多线程编程(一)---多线程基本编程
  6. 教之初计算机考试函数应用题,教之初计算机考试系统
  7. hdu4825 字典树 XOR
  8. _event_phase_team
  9. 唯一的超级语言,前进的步伐不可阻挡
  10. Mac Book苹果电脑设置自定义壁纸文件夹Desktop Pictures
  11. Qpainter事件
  12. 从IT时代到DT时代
  13. LSTM的优点和缺点
  14. Phython环境搭建
  15. 智能红外遥控器(四):手机蓝牙控制格力风扇康佳加湿器
  16. BROP入门之 KCTF 2022 废土末世
  17. Splay(splay模板)
  18. 这届“怕死”的年轻人,“疫后”正在拼命“养生”
  19. stm32h743能跑linux吗,关于stm32H743 can配置
  20. GiantPandaCV 2021年度总结

热门文章

  1. 推荐系统领域对比学习和数据增强论文及代码集锦
  2. oracle开机启动监听,配置Oracle数据库和监听随Linux系统自启动
  3. C++PrimerPlus(第6版)中文版:Chapter16.4.6关联容器_setops.cpp
  4. POJ 3104(二分算法,难难难)
  5. Twitter只剩下两个硬核程序员了!
  6. 安师大计算机系导师,安徽师范大学数学计算机科学学院导师介绍:陈付龙
  7. mysql task06(结营)
  8. HDUSec-安全隔离网闸项目总结
  9. 部分只能在实机运行的APP抓包思路-免root框架神器
  10. MATLAB中Simulink创建与运行