首先问题描述:

1、自己画的板子和淘宝买的最小系统板 系统时钟不一致,自己画的是8Mhz,HSE失败;最小系统板72Mhz

2、最小系统板在程序1运行仿真的时候,查看peripherals->Power,Reset and Clock Control(PRCC)是72MHZ,在程序2仿真的时候是8Mhz,程序SystemInit()所在的文件一模一样;

3、出现过8M晶振坏了,更换晶振后时钟源正常72Mhz

问题1原因:

1、注意晶振的匹配电容的值,测试版发现系统时钟有问题时,可以是晶振不起振,匹配电容的值不对会导致晶振不起振;

2、STM32f103 内部HSI为8Mhz,当外部时钟HSE启动失败,则system_stm32f10x.c配置系统时钟为8Mhz,时钟源为内部时钟HSI  

3、STM32f10x的启动文件会在main之前调用SystemInit(),初始化时钟,

Reset_Handler    PROC
EXPORT Reset_Handler [WEAK]
IMPORT __main
IMPORT SystemInit
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP

问题2原因:.....还是没找到原因  之前以为是启动文件的问题    PRCC显示8Mhz的启动文件用的都是md  不是_hd的,与配置里的hd不符。 使用最小系统板目前PRCC显示8Mhz的程序是 test_led+gpio +uart123+timer_clk 和test_led+gpio+touchboardIIC+exti,正常显示72Mhz的程序是Smart_Power1021和test_ic_gsm_rly_8MHZ_netcheck _不等待AT响应;

8mhz调用RCC_GetSYSCLKSource()  返回值显示0x08: PLL used as system clock

PLL used as system clock

STM32 晶振 系统时钟8MHZ和72Mhz的原因的更多相关文章

  1. stm32 晶振不起振

    1. STM32f103有内部晶振.刚刚上电时,所有Clock都是源于内部晶振,所以当片内没有程序或内部程序没有使能外部晶振时,外部晶振是不会起振的.2. STM32f103有内部复位电路,只有当检测 ...

  2. STM32系统时钟

    一.时钟树 STM32有4个时钟源: 1)HSE(高速外部时钟源) 外部晶振作为时钟源,范围为4~16MHz,常取为8MHz 2)HSI(高速内部时钟源) 由内部RC振荡器产生,频率为8MHz,但不稳 ...

  3. stm32之Systick(系统时钟)

    Systick的两大作用: 1.可以产生精确延时: 2.可以提供给操作系统一个单独的心跳(时钟)节拍: 通常实现Delay(N)函数的方法为: for(i=0;i<x;i++) ; 对于STM3 ...

  4. 换晶振导致stm32串口数据飞码的解决办法

    一般来说,stm32f107都是用标配的晶振,比如8MHz. 但是,如果用别的晶振,比如13.56M的晶振,那串口接收还正常吗? 根据试验结果,很可能会飞码.比如说用串口助手发送的是0x35,但是在串 ...

  5. 关于STM32外接4—16MHz晶振主频处理方法

    由于STM32F10x库官方采用的是默认的外接8MHz晶振,因此造成很多用户也采用了8MHz的晶振,但是,8MHz的晶振不是必须的,其他频点的晶振也是可行的,只需要在库中做相应的修改就行.    在论 ...

  6. STM32单片机最小系统

    1.单片机最小系统的组成部分 STM32单片机最小系统由①主芯片,②上电复位电路,③时钟电路,④电源供电电路组成.同时一个基本完整的单片机功能还应包括下载电路和LED指示电路. 2.单片机主芯片 单片 ...

  7. msp430系统时钟

    转自 http://m.blog.csdn.net/blog/msdumin/38441493# MSP430基础时钟模块包含以下3个时钟输入源. 一.4个时钟振荡源 1.LFXT1CLK:  外部晶 ...

  8. ARM系统时钟初始化

    2440时钟体系,12MHz的晶振 6410时钟体系,12MHz的晶振 210时钟体系,24MHz晶振 时钟初始化:1.设置locktime 2.设置分频系数 4.设置CPU到异步工作模式 3.设置f ...

  9. STM32F030 启用内部晶振并配置系统时钟为48M

    在文件 system_stm32f0xx.c 里的函数 static void SetSysClock(void) { if (HSEStatus == (uint32_t)0x01) // 存在外部 ...

随机推荐

  1. 如何在生产环境下实现每天自动备份mysql数据库

    1.描述 通"shell脚本+定时任务"的方式来实现自动备份mysql数据库. 2.环境 备份路径:/data/mysqlbak/ 备份脚本:/data/mysqlbak/mysq ...

  2. JAVA笔记26-网络编程(不等于网站编程)

    一.网络基础(TCP/IP详解) 1.IP协议(Internet Protocol):网络层,支持网间数据报通信.无连接数据报传送,数据报路由选择和差错控制. IPv4 32位(4字节),IPv6 1 ...

  3. JDBC接口封装

    package cn.piesat.sparkproject.jdbc; import java.sql.Connection;import java.sql.DriverManager;import ...

  4. 【leetcode】1228.Missing Number In Arithmetic Progression

    题目如下: 解题思路:题目很简单.先对数组排序,根据最大值和最小值即可求出公差,然后遍历数组,计算相邻元素的差,如果差不等于公差,即表示数字缺失. 代码如下: class Solution(objec ...

  5. 【leetcode】Network Delay Time

    题目: There are N network nodes, labelled 1 to N. Given times, a list of travel times as directed edge ...

  6. jquery gt选择器 语法

    jquery gt选择器 语法 作用::gt 选择器选取 index 值高于指定数的元素.index 值从 0 开始.经常与其他元素/选择器一起使用,来选择指定的组中特定序号之后的元素(如上面的例子) ...

  7. java8中接口default、static新特性,与抽象类区别

    之前Java接口中的方法默认都是public abstract,成员变量默认都是public static final,偶然发现接口中可以有default类型的方法,才知道java8中接口可以有自己的 ...

  8. 关于:基于http协议大文件断点续传上传至web服务器

    关键部分 前端用file.slice()分块 前端用FileReader获取每一分块的md5值 后端用MultipartFile接受分块文件 后端用FileOutputStream拼装分块文件 话不多 ...

  9. CSS 阴影应用

    1.背景阴影的使用 box-shadow:1px 1px 1px 1px #ccccccc inset; 说明:第一个参数为水平阴影的大小.第二个为垂直阴影的大小(值可以为负数).第三个参数是阴影模糊 ...

  10. antd form表单一行多个组件并对其校验

    一行一个标签对应多个输入组件,这个需求很常见但在官方例子没看到合适的,因为官方建议: 注意:一个 Form.Item 建议只放一个被 getFieldDecorator 装饰过的 child,当有多个 ...