你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F100VDT6 外部HSE 时钟不准问题

[复制链接]
yufeige 提问时间:2018-10-20 15:38 /
主控STM32F100VDT6 外部晶振8M,官方库3.5.0
几个月前购买过几十片该型号MCU,程序运行起来 系统时钟 24M ,完全正常
前些时候又购买几十片该型号MCU,程序运行起来,发现串口通讯速率完全不对,115200的波特率 被降到57600去了,因此怀疑是主频不对。

demo程序是直接基于ST 3.5.0库中的demo 程序上去修改的 ,仅仅配置systemInit这个函数,然后看打印输出
分析处理过程:
1、在systemInit这个函数中配置成内部HSI 8M晶体跑,发现系统时钟是24 可以正常跑,设置115200的波特率打印正常
2、在systemInit函数中,SYSTEM CLOCK 改为HSE,且把PREDIV1 =1  即 /*  PLL configuration:  = (HSE ) * 6 = 24 MHz */ 相当于是8M*6 = 48M,这样修改过后发现程序居然也是正常的。
3、实际测试外部晶体的频率也是8M。

因此对于这样的问题 ,我不确定是不是购买到了假冒的MCU。
此外对于这个问题的另外一些想法是,有没有办法可以做到 程序内部时钟自检,判断是否达到设计所要的时钟频率。
STM32 1.png
收藏 评论5 发布时间:2018-10-20 15:38

举报

5个回答
yufeige 回答时间:2018-10-20 15:39:42
目前这一批次的所有都是这一的问题,只要以替换先前的MCU就完全是好的
五哥1 回答时间:2018-10-22 13:20:02
原板子上替换的吗?这个芯片是一家提供的吗?芯片型号是否一致?

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

butterflyspring 回答时间:2018-10-22 15:05:38
你用MCO把晶振输出来看看吧

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

废鱼 回答时间:2018-10-22 15:18:09
我认为是时钟配置的问题。楼主要注意一下配置。比如默认HSE的配置HSE_VALUE是4M还是8M。这些在stm32f1xx.h里面有定义。具体可以根据寄存器的值进行推断。按楼主说的这种情况,我猜测是外部始终和实际的HSE_VALUE定义不一致导致的。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

yufeige 回答时间:2018-10-25 12:02:56
五哥1 发表于 2018-10-22 13:20
原板子上替换的吗?这个芯片是一家提供的吗?芯片型号是否一致?

就是原板子替换芯片,先前购买的芯片是完好的,这次购买的贴上去就有这个问题, 我是在网上找同一家购买的 丝印也是一样

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版