最近移植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. php设置backlog,高并发调优backlog多大合适?
  2. eeglab教程系列(12)-使用ICA分解数据
  3. C# 学习笔记(9)线程
  4. hdu3037 Saving Beans
  5. 安装eclipse时遇到的问题
  6. 计算机网络 | IP协议相关技术与网络总结 :DNS、ICMP、DHCP、NAT/NAPT、通信流程
  7. nodejs读取本地txt文件并输出到浏览器
  8. Execute SQL Task 参数和变量的映射
  9. 斐波那契数列(一)--对比递归与动态规划(JAVA)
  10. python3字节转化字符_浅谈 Python3 中对二进制数据 XOR 编码的正确姿势
  11. mysql慢查询分析工具和分析方法
  12. OpenStack安装流程(juno版)- 添加镜像服务(glance)
  13. C#获取程序运行时间
  14. autojs遍历当前页面所有控件_精心推荐-自动化软件AutoJs(薅羊毛?)
  15. 计算机系统从本地硬盘启动设置,技嘉主板电脑在BIOS中设置硬盘启动教程
  16. 关于“上家公司离职原因”应聘者回答技巧分享
  17. 百度指数Cipher-text加密
  18. SOJ-4484-后缀数组
  19. Flink on Yarn报错:Container released on a *lost* node
  20. 三种算法求两个正整数的最大公约数和最小公倍数;求三个数的最大公约数和最小公倍数

热门文章

  1. 【史上最强代码编辑器VS Code】之VS Code 在线听网易云音乐
  2. C语言程序设计-翁恺(初学者日记)
  3. MySQL必知必会——第十五章联结表
  4. 伸缩门遥控器c语言程序,伸缩门遥控器匹配方法是什么呢? 如何学会电动门的遥控编码...
  5. 百度竞价推广需要注意什么?
  6. linux 升级root,linux系统内核升级实例
  7. Java干货的“聚宝盆”!各种细节!!
  8. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
  9. [团队管理]从《亮剑》看团队建设之二——PM如何与组员合作
  10. 如何用excel做正交分析_利用Excel进行正交设计及分析.pdf