[STM32F1] 外部晶振有波形,但是无法使用。切换到内部时钟正常。

[复制链接]
3716|13
 楼主| lphaff 发表于 2014-11-8 19:54 | 显示全部楼层 |阅读模式
开始以为是外部晶振不起振,后面用示波器看了一下
能看到12M的正弦波
但是在单步运行的时候,死在        while (RCC_GetSYSCLKSource() != 0x08){}          这里了
如果直接跳过时钟配置,则会进入
void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {}
}

这种情况一般是什么原因引起的呢?
这一批板子里面有些正常,有些不正常。
xiaodao35 发表于 2014-11-8 20:22 | 显示全部楼层
示波器表笔有电容在的,如果一直测量着能跳过时钟检测,取下不能,可能匹配电容偏小,不起征

评分

参与人数 1威望 +1 收起 理由
lphaff + 1 赞一个!

查看全部评分

 楼主| lphaff 发表于 2014-11-8 20:31 | 显示全部楼层
xiaodao35 发表于 2014-11-8 20:22
示波器表笔有电容在的,如果一直测量着能跳过时钟检测,取下不能,可能匹配电容偏小,不起征 ...

是12M的波形,重新上电后一直有12M
感觉外部晶振应该是正常起振的。
mmuuss586 发表于 2014-11-8 21:45 | 显示全部楼层
看晶振有没有起振,拿万用表量下电压也可以的;

为0V或3.3V肯定没起振;
 楼主| lphaff 发表于 2014-11-8 22:09 | 显示全部楼层
mmuuss586 发表于 2014-11-8 21:45
看晶振有没有起振,拿万用表量下电压也可以的;

为0V或3.3V肯定没起振; ...

现在可以确认,外部晶振是没问题的。
我把时钟由PLL切换到外部晶振后是正常的。
那应该可以确定问题出在PLL部分了。
mmuuss586 发表于 2014-11-8 22:51 | 显示全部楼层
lphaff 发表于 2014-11-8 22:09
现在可以确认,外部晶振是没问题的。
我把时钟由PLL切换到外部晶振后是正常的。
那应该可以确定问题出在P ...

检查下,电源是否有问题;
包括模拟电源等;
还有看下程序,可以参考官方的,野火的,正点原子的一些初始化例程看看;

不是硬件问题(包括电源的稳定性),就是你程序初始化问题;

评分

参与人数 1威望 +1 收起 理由
lphaff + 1 赞一个!

查看全部评分

 楼主| lphaff 发表于 2014-11-8 23:29 | 显示全部楼层
mmuuss586 发表于 2014-11-8 22:51
检查下,电源是否有问题;
包括模拟电源等;
还有看下程序,可以参考官方的,野火的,正点原子的一些初始 ...

谢谢。
这个之前我自己焊的板子,是没有问题的。
后面几块是别人焊的,有几个能用,有几个不能用
现在问题基本可以定位了
应该就是PLL的问题。
PLL倍频后作为系统时钟就死机了
不知道是不是焊接的问题。
xlsbz 发表于 2014-11-9 08:12 | 显示全部楼层
lphaff 发表于 2014-11-8 23:29
谢谢。
这个之前我自己焊的板子,是没有问题的。
后面几块是别人焊的,有几个能用,有几个不能用

有次遇到过 电容值 焊接错误。检查下电容值 试试

评分

参与人数 1威望 +1 收起 理由
lphaff + 1

查看全部评分

 楼主| lphaff 发表于 2014-11-9 10:44 | 显示全部楼层
xlsbz 发表于 2014-11-9 08:12
有次遇到过 电容值 焊接错误。检查下电容值 试试

其实这也应该算是很正常的检查思路了
焊接错误、电容弄错了。或者晶振中间并联一个10M电阻
我现在的问题是,外部晶振已经起振切可正常使用
但是内部如果选用PLL作为系统时钟则会跑到硬件错误中断里面去了。
xlsbz 发表于 2014-11-9 11:06 | 显示全部楼层
lphaff 发表于 2014-11-9 10:44
其实这也应该算是很正常的检查思路了
焊接错误、电容弄错了。或者晶振中间并联一个10M电阻
我现在的问题 ...

给你个注意。你的你自己的代码今天就不要碰。
用官方的demo运行。
xlsbz 发表于 2014-11-9 11:07 | 显示全部楼层
xlsbz 发表于 2014-11-9 11:06
给你个注意。你的你自己的代码今天就不要碰。
用官方的demo运行。

你这个问题很奇怪。
xlsbz 发表于 2014-11-9 11:08 | 显示全部楼层
xlsbz 发表于 2014-11-9 11:07
你这个问题很奇怪。

仿真器也换一个。供电电源也换一个。
 楼主| lphaff 发表于 2014-11-9 11:37 | 显示全部楼层
xlsbz 发表于 2014-11-9 11:08
仿真器也换一个。供电电源也换一个。

谢谢。
这个问题确实比较奇怪。
我现在初步怀疑板子加工的问题或者是芯片的问题。
PLL倍频不上去,应该属于芯片内部的问题。
 楼主| lphaff 发表于 2014-11-10 21:45 | 显示全部楼层
总结:应该是芯片的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:长沙电路设计爱好者,欢迎加群学术探讨、项目合作群:1636625

55

主题

540

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部