当前位置:首页 > 单片机 > 单片机
[导读]  1、自己做了个STM32的板子,但是手里没有8M的晶振,所以就用了,12M的,但是不正常,上电之后PA15和PA14接的是两个led,PA15接的led常亮,PA14接的的led不亮,而且芯片下载程序又能下载,应该不是芯片坏的问题吧

  1、自己做了个STM32的板子,但是手里没有8M的晶振,所以就用了,12M的,但是不正常,上电之后PA15和PA14接的是两个led,PA15接的led常亮,PA14接的的led不亮,而且芯片下载程序又能下载,应该不是芯片坏的问题吧,而且不管我些什么程序进去,两个脚的状态都不变,我怀疑是电路有问题,可是我仔细检查了电路和板子,都没问题,JTAG正常使用。我用的是12M的晶振,这会有影响吗?感觉不管下什么程序进去感觉芯片好像没有运行。

  答:如果使用12M的晶振,那么要修改启动文档中的关于RCC的语句。因为如果你使用库文件的话,ST的库,默认外部晶振是8M,所以如果你不修改RCC部分的语句,会造成CPU不启动,或者启动不成功。现象是,在MDK环境下,能够通过JTAG识别到芯片,但是无法下载或者debug。会提示can not attach CPU。

  2、突然想到这个问题,外部无源晶振选择大小的区别是什么?对STM32芯片它都要先分频,再倍频。我在想,假设,如果它分频都要降到2M,再倍频上去那我直接2M的晶振1分频再倍频,跟24M先12分频再倍频他们的区别是什么?还是说本身就是任意的,根据自己需要选择?

  答:方便各种应用场景。

  3、自己做的STM32F103RBT6板子,外接8M晶振,现在程序下载正常,运行正常,在程序初始化时用到Stm32_Clock_Init(9)这条语句,我想问下是不是外部晶振如果没起振在执行这条语句时会停止?也就是说我的程序下载和运行都正常说明外部晶振肯定起振了,而且已经倍频到72M了。

  答:默认是用内部8M RC震荡的,你切换为PLL之后,才是使用8M倍频的,如果你注释掉Stm32_Clock_Init(9),那么代码也会跑,但是是用内部8M RC震荡。

  4、外部晶振换成了25MHz,但是想方便的移植以前8MHz板子上程序,应该怎么修改系统时钟?看了system_stm32f10x.c系统时钟设置,但是不知道怎么修改!下面参数是system_stm32f10x.c系统时钟设置

  //默认SYSCLK_FREQ_72MHz 可在system_stm32f10x.c改变设置。

  //默认 HCLK = SYSCLK;

  RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;

  //默认 PCLK2 = HCLK

  RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;

  //默认 PCLK1 = HCLK

  RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2;

  //默认 PLL as system clock source; RCC_CFGR_SW_PLL;

  答:25M不用想了,必须是25的整数倍才行。

  要是把它设置成75MHz 具体怎么修改哪些配置参数?25*3=75,设置倍频数为3。但是库函数这个不懂,寄存器的就很简单。

  5、STM32的RTC不能用,想确定是否硬件问题。但不知道测量的是哪2个引脚。

  答:1,去掉RTC晶振的电容。

  2,换晶振。

  如果1、2还不行,多换几个晶振;如果还不行,换MCU。换到能用为止; STM32的RTC,就这么蛋疼。

  6、手头有几块RTC初始化不成功的,到底是啥原因,用示波器也看不到波形,一共有30块板子大概有5块出现这种问题,时钟不正常,其中拿一块是换了IC,然后OK的,不会是IC问题吧,如果是IC问题,那后期生产不好弄啊。

  答:就算你用6pf负载电容晶振,STM32的rtc还是会有一部分不能起振的。如果产品确实需要RTC功能,我建议你还是外加RTC芯片靠谱点。

  7、32K内部晶振、16M内部晶振、32K外部晶振,弱弱的想有16M的可以分频还要那两个干嘛啊,为什么分内外啊16M的为什么不设成外部晶振呢?以下是百度的一段话,外部晶振稳定内部晶振的误差比较大,但如果对频率要求不高的话(比如不涉及串口通信和精确定时等的话,用内部晶振就行。内部时钟,频率受温度等其它影响,但是能省下晶振的钱,还有2个I/O。如果对频率要求不高,一般是优先选用内部振荡。如果你要省电,用了SLEEP,那你就不能用内部振荡了,内部振荡回停止!

  答:STM32一般推荐用内部8MRC或者外部8M晶振。你这个16M,除非个人癖好,一般没必要用。 用内部还是外部,主要看你自己的考虑了。理论上说,外部准确度高,用到USB通信的时候,建议用外部晶振。另外,内部RC是无法倍频到72M的,最高是4*16=64Mhz。但是内部晶振如你所说:1、不占空间。2、省成本。所以,底用内部还是用外部,根据自己需求来就可以了。

  8、求一个用内部晶振HSI作系统时钟源的系统时钟配置函数。最好是寄存器版的。

  答:把我们的Stm32_Clock_Init屏蔽,用的就是内部8M RC震荡了。

  9、焊接了一个STM32F103C8T6的最小系统,晶振是16MHZ,程序不能正常运行?怎样修改哪些程序使芯片的还是在72MHZ下工作。只用下面这个函数修改时钟,但是程序还是不能运行,串口发送数据一堆没用的数据。该怎样设置???

  答:修改SetSysClockTo72函数中有关时钟配置的地方。

  

  RCC->CFGR&=(uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);

  RCC->CFGR=(uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLMULL9);

  以上是8M晶振的设置,把分频和倍频改成你要的值。

  10、请问在“OptionforTarget”里的“Target”的XTAL填的MHZ数就是开发板上那个两头圆的晶振的参数吗,我的那个上面显示的Y8.000,是不是就填8就可以了。另外,还有一个圆柱形两个管脚的听说那也是晶振,那“Target”里XTAL的参数到底该照谁的填?ALIENTEK教程里的源代码默认都是72MHZ,应该都要改吧。

  答:填8M,32.768K是rtc晶振不用填。

  11、STM32没有8M的外部晶振,依然可以运行跑马灯实验(程序设定使用外部晶振),有人知道是为啥不?自己焊了一块板子,没有接外部的8MHZ晶振,可是将原子的跑马灯程序下载进去之后,小灯竟然间歇性的闪烁了。可是原子的程序里面明明是用的外部晶振啊!

  答:没外部的直接切换到内部晶振。

  12、stm32f103c8t6的五六脚应该接多大的晶振?

  答:系统时钟(SYSCLK)有3个来源,内部高速8M时钟(HSI),PLL时钟和外部高速时钟(56脚接的HSE),而PLL时钟又有2个来源,即内部高速时钟2分频(HSI/2=4M)和外部高速时钟(HSE)。通常SYSCLK常用PLL倍频而来,当SYSCLK=72M,外部(5-6脚)接8M晶振,经过9倍频即为72M,如果外部使用12M,那只需要6倍频即可得到72M SYSCLK,具体的细节请参考STM32参考手册6.2节(那个时钟树很清晰明了)。

  13、战舰stm32开发板上,32.768K晶振电路的作用?这部分电路有什么作用啊?去掉会有什么影响吗?提供时钟的不是8M晶振那部分时钟电路吗?

  答:建议你看看时钟树,32.768可以做RTC的时钟源。

  14、系统时钟可以由内部时钟RC振荡器、外部时钟、锁相环三者提供,那么设置成内部时钟,是不用外部放置8M晶振了?

  答:可以用内部时钟,不用接外部晶振,只是外部时钟更好一些。

  15、如果不用RTC,最小系统可以去掉一个晶振吗?最近正在自制32的最小系统,用来参加电设比赛的,感觉用不上RTC的功能。请问可以把32.768K的晶振部分去掉,当作普通IO口使用吗?

  答:是的,不过32.768K晶振那两个脚当GPIO用的话,驱动能力会比其它的弱,具体的看手册上有具体说明。

  16、做最小系统版的时候晶振布在底层是否会有影响?

  答:放在底层或者顶层没什么影响,但是晶振最好靠近芯片,晶振下面也最好不要走线。

  17、疑问?对于PCLK1是高速时钟,手册高速我们是不能超过36M,如果配置他为系统时钟,会有哪些影响。我有一份代码一直都是按照系统时钟运行的,所以,我也不清楚会造成什么问题?

  答:系统时钟是HCLK,不是PCLK1,PCLK1是无法设置为系统时钟的。

  18、最近开始画原理图,首先就是最小系统啦,参考战舰开发板、某火开发板、官方的硬件开发使用入门的外部晶振电路,都各不相同,又看了ST的晶体振荡器电路设计指南,还是有些不懂啊。我的理解是调整两个外部电容,使之与晶振的负载电容相等,看看战舰板上是22pF,难道8M晶振的负载电容是10pF?还有并联1M的电阻起什么作用呢?不加限流电阻是因为晶振功耗低?

  答:因为每一种晶振都有各自的特性,所以最好按制造厂商所提供的数值选择外部元器件。

  ①在许可范围内,C1,C2值越低越好。C值偏大虽有利于振荡器的稳定,但将会增加起振时间。

  ②工作良好的振荡波形应该是一个漂亮的正弦波,峰峰值应该大于电源电压的70%。

   若峰峰值小于70%,可适当减小OSCI及OSCO管脚上的外接负载电容。

   反之,若峰峰值接近电源电压且振荡波形发生畸变,则可适当增加负载电容。

  例子:若取中心值15pF,则C1,C2各取30pF可得到其串联等效电容值15pF,这个值与晶振内部等效电容接近最好。

  如果要达到8pF(内部电容的),则要选择外部两个电容为15pF。

  通常厂家建议的外接负载电容为10~30pF左右。并且C1,C2使用瓷片电容为佳。

  ③用示波器检测OSCI(Oscillator input)管脚,容易导致振荡器停振,原因是:部分的探头阻抗小不可以直接测试,可以用串电容的方法来进行测试。

  ④当波形出现削峰,畸变时,可增加负载电阻调整(几十K到几百K)。要稳定波形是并联一个1M左右的反馈电阻,电阻使稳定,并加速晶振起振时间。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2025年9月9日,致力于亚太地区市场的国际领先半导体元器件分销商---大联大控股宣布,其旗下世平推出以芯驰科技(SemiDrive)E3106 MCU为主,辅以安森美(onsemi)NCV8730低压差稳压器、恩智浦(...

关键字: 车身控制器 开发板 收发器

2025年8月26日,‌Elexcon深圳国际电子展‌在‌深圳会展中心(福田)1号馆‌(展台号:1L30)盛大举行。作为全球电子产业链的重要盛会,展会汇聚创新技术与行业解决方案。米尔电子MYIR携RZ系列核心板、开发板等...

关键字: 核心板 开发板 MCU

随着大语言模型(LLM)技术的快速迭代,从云端集中式部署到端侧分布式运行的趋势日益明显。端侧小型语言模型(SLM)凭借低延迟、高隐私性和离线可用的独特优势,正在智能设备、边缘计算等场景中展现出巨大潜力。

关键字: 开发板 大语言模型 边缘计算

在嵌入式开发中,STM32的时钟系统因其灵活性和复杂性成为开发者关注的焦点。然而,看似简单的时钟配置背后,隐藏着诸多易被忽视的陷阱,轻则导致系统不稳定,重则引发硬件损坏。本文从时钟源选择、PLL配置、总线时钟分配等关键环...

关键字: STM32 时钟系统

在嵌入式系统开发中,STM32系列微控制器的内部温度传感器因其低成本、高集成度特性,广泛应用于设备自检、环境监测等场景。然而,受芯片工艺差异和电源噪声影响,其原始数据存在±1.5℃的固有误差。本文从硬件配置、校准算法、软...

关键字: STM32 温度传感器

本文中,小编将对单片机予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 单片机 开发板 Keil

晶振,全称石英晶体振荡器,是一种电子元件,用于产生精确的时钟信号。在现代电子设备中,晶振就像心脏一样,为设备提供稳定的节拍。

关键字: 晶振 电路板

在能源效率与智能化需求双重驱动下,AC-DC转换器的数字控制技术正经历从传统模拟方案向全数字架构的深刻变革。基于STM32微控制器的PFM(脉冲频率调制)+PWM(脉冲宽度调制)混合调制策略,结合动态电压调整(Dynam...

关键字: AC-DC STM32

在数字化浪潮席卷全球的今天,FPGA技术正成为驱动创新的核心引擎。2025年8月21日,深圳将迎来一场聚焦FPGA技术与产业应用的盛会——2025安路科技FPGA技术沙龙。本次沙龙以“定制未来 共建生态”为主题,汇聚行业...

关键字: FPGA 核心板 开发板

在智能视觉技术不断发展的今天,多路摄像数据的处理与传输已成为众多应用场景的核心需求。从智能安防监控领域的全面覆盖,到工业视觉处理网关的精准检测,再到车载环视融合平台的实时驾驶辅助以及智慧社区AI防控的快速响应,多路摄...

关键字: 开发板 网关 核心板
关闭