楼主做了一块stm32f401rct6的板子。开始做的时候用的是立创商城smt的库,里面没有stm32f401rct6。于是就用里面的stm32f103rct6的元器件封装。就在此时已经开始埋下祸根。。。。。
板子画好了嘉立创也贴好了,回来后赶紧用cubemx生成程序进行测试,接上stlink下载,嗯...可以下载,很好。于是在线运行,暂停看运行结果,发现停在hardfault里面。此时楼主心里毫无波澜,心想,肯定又是cubemx在作妖了(因为以前就试过cubemx某个版本的时钟配置有bug)。然后仔细查看对应时钟位置的代码,竟然好像没有问题。。。嗯。。。心想,那肯定是我配置时钟时候配置错了,亦或者晶振没有起振。。。于是各种反复验证,发现晶振也起振了,配置也就几种,采用hsi时候倍频上去也一样挂,只有在频率小于等于48Mhz时候运行是正常的。后面换了几个板子测试,现象依旧。。
后面就在网上查找同样现象的解决办法,发现很多都说到vcap脚要接电容,电容贴错会导致频率上去就进入hardfault。好像很有道理,自己也仔细查看原理图,嗯。。。好像没有vcap脚(此时还是没有意识到用的是103的封装)。。以st的尿性,肯定是放在某个供电脚上了,毕竟64个脚其中的io脚很宝贵。然后查看供电脚,发现供电脚也都都连上了,然后每个脚也都有0.1uf电容了。这时候楼主不淡定了。。。难不成出鬼了,或者立创商城的芯片是水货。。。仔细想想也不至于啊,赶紧下载一个401的手册看看,然后发现里面Compatibility with STM32F4 Series里面有介绍64pin的一样是有vcap专门的脚的,这时候恍然大悟,原来自己用的是103的封装,pb11还拿来当io口用了。那个脚的位置是vcap脚,不是pb11了。。。。
后面果断飞上电容,烧录程序测试。。。板子终于能够在84Mhz愉快奔跑了。
后记,在调试问题过程中还发现了f4系列是支持内核电压参数配置的,在超频的时候如果hardfault了,可以调节内核电压提高稳定性。
离线
哈哈哈,大笑三声,
为什么 stm8s003 那么几个脚也要 vcap呢,这脚到底原来干嘛的?
离线
哈哈哈,大笑三声,
为什么 stm8s003 那么几个脚也要 vcap呢,这脚到底原来干嘛的?
内部调压器啊兄弟,stm8虽然支持5v,但是内核电压其实低多了,所以要有降压
调压要么线性要么dcdc,dcdc可以是buck,也可以是电荷泵,电荷泵元件少
所以vcap就是电荷泵上挂的电容
离线
难道10x系列和401系列只相差了一个vcap引脚?我印象中有好几个脚不一样
离线
顶!学习了。
离线