历史上的今天
返回首页

历史上的今天

今天是:2024年12月24日(星期二)

正在发生

2018年12月24日 | stm32F407的Systick的问题

2018-12-24 来源:eefocus

最近买了一款stm32f407zgt6的核心板,毫不犹豫地写了一个用定时器点亮led灯的程序(由于程序比较简单就不贴上来了)。在进行1秒闪烁功能实现时,明显发现了led的闪烁时间不对,刚开始是拿手机进行简单的计时,结果显示的是大约3秒的延时(测了10秒亮了两次),在仔细检查代码后,确定不是代码问题(因为代码是用的野火的示例代码)


123


 SystemCoreClock是系统预设的系统时钟,在System_stm32f4xx.c文件中查的,f407对应的系统时钟是168mhz


02

456


由SysTick_Init()函数,通过计算处理肯定能得到精确的定时,后通过定时器控制GPIO引脚连接至示波器检测,在高电平延时1ms的情况下,测得实际值为3.1ms。再次检查程序,确定没有问题后。意识到可能是系统时钟配置的问题。期间使用了网上推荐的获得系统时钟频率的函数来检测的方法,但是没有实际进展,这里略过。按着思路,我找到了时钟配置的原理图由上图,我们使用的是systick,其时钟源是HSE。也就是说systick的频率 f=(HSE/M)*N/P  由本帖第三幅图上可得参数


789


M = 25     N=336    P=2   在System_stm32f4xx.c文件中,找到了如下配置


22

33


这下确认没有问题了,把频率参数  168000000hz代入公式反算,得到HSE=25000000,也就是说hse的输入频率应该是25Mhz,这明显符合图一上面的参数。由此确定,该问题并不是程序上的问题。于是问题集中到硬件上,那可能性就比较多了,先从时钟源入手,上面的系统时钟原理图可以看出,hse的时钟源由OSC_OUT与OSC_IN接入,找到核心板电路图,如图


k'k


本来是按着25MHZ的晶振去找,怎么都找不到,接着查引脚,找到了这个8MHZ的外部晶振,问题根源终于找到了,这块板子的时钟源用的是8MHZ,但是系统配置里面默认是按照25MHZ的,将HSE=8MHZ带入计算公式,得到Systick=53760000HZ,大约是理想值的三分之一,到此终于确定了问题所在,为了后面工程的良好实施,系统频率还是用规定的168MHZ,为好。接着修改就比较简单了。


由公式反算,如果M=8的话,能得到理想频率(为什么不是其他参数,请参考一下中文手册,其他参数是有范围的)


接下来是在系统配置里修改M参数,先将system_stm32f4xx.c文件的只读属性去掉(找到该文件,右键属性去掉只读),在kile5中重新打开该文件,将代码翻到371行


ss


将 25 改为 8,保存文件。将文件的只读属性加上,就可以完工了。到此时钟终于正常了。事实证明这里不改的话,后面的串口通信,spi,i2c问题多多,我也是被折磨一阵后回来写这个的。


最后附上我的核心板实物图


er


推荐阅读

史海拾趣

FORMOSA公司的发展小趣事

面对电子行业对高素质技术人才的需求,一家名为“FORMOSA电子教育学院”的机构应运而生。该学院依托丰富的行业资源和先进的教学设施,为广大学子提供了电子工程、计算机科学与技术等相关专业的高质量教育。学院不仅注重理论知识的传授,还强调实践技能的培养,与多家知名电子企业建立了合作关系,为学生提供实习和就业机会。通过不断的教学改革和课程优化,FORMOSA电子教育学院培养了一大批优秀的电子专业人才,为电子行业的发展注入了新的活力。

请注意,以上故事均为虚构构建,旨在展示电子行业内可能的发展路径和趋势。在实际情况下,“FORMOSA”这个名称可能并不直接对应某一家具体的电子公司。

Amphenol(安费诺)公司的发展小趣事

面对电子行业对高素质技术人才的需求,一家名为“FORMOSA电子教育学院”的机构应运而生。该学院依托丰富的行业资源和先进的教学设施,为广大学子提供了电子工程、计算机科学与技术等相关专业的高质量教育。学院不仅注重理论知识的传授,还强调实践技能的培养,与多家知名电子企业建立了合作关系,为学生提供实习和就业机会。通过不断的教学改革和课程优化,FORMOSA电子教育学院培养了一大批优秀的电子专业人才,为电子行业的发展注入了新的活力。

请注意,以上故事均为虚构构建,旨在展示电子行业内可能的发展路径和趋势。在实际情况下,“FORMOSA”这个名称可能并不直接对应某一家具体的电子公司。

登丰微(GSTEK)公司的发展小趣事

随着电子行业的快速发展和市场需求的不断变化,歌普电子也在积极调整战略布局,以应对未来的挑战和机遇。公司不仅在现有产品领域持续深耕细作,还积极探索新的业务领域和增长点。通过多元化布局和不断创新,歌普电子致力于成为电子行业的领军企业之一。未来,歌普将继续秉承“创新、高效、尊重、负责”的文化理念,为客户提供更加优质的产品和服务,共同推动电子行业的繁荣发展。

ELM Technology Corporation公司的发展小趣事

随着环保意识的不断提高,ELM Technology Corporation积极响应国家号召,将环保理念融入企业发展中。公司投入大量资金研发环保型电子产品,努力降低产品对环境的影响。同时,ELM还积极参与各类环保活动,推动电子行业的绿色发展。这种对环保的执着追求让ELM在行业中树立了良好的形象。

Digital Voice Systems Inc公司的发展小趣事

Digital Voice Systems, Inc.(DVSI)于1988年成立,当时正值数字通信技术的兴起阶段。公司创始人凭借对语音编解码技术的深刻理解和前瞻性的市场洞察力,决定投身于这一领域。他们开发出了具有专利保护的基于鲁棒性多带激励模型(MBE Model)的低码率语音压缩算法,如IMBE和AMBE编解码系统。这些算法在当时的市场上独树一帜,为DVSI赢得了第一桶金。

在创立初期,DVSI面临着资金、技术、市场等多方面的挑战。然而,他们凭借着坚定的信念和不懈的努力,逐步克服了这些困难。他们不断投入研发,优化算法,提高产品的性能和稳定性;同时,他们积极开拓市场,与各大通信设备制造商建立合作关系,将产品推向市场。

随着时间的推移,DVSI的产品逐渐在市场上获得了认可。他们的编解码系统被广泛应用于移动通信、卫星通信、军事通信等领域,为客户提供了高效、稳定的语音通信解决方案。DVSI也因此逐渐崭露头角,成为了电子行业中一颗耀眼的明星。

故事二至五框架概述

  1. 技术创新与突破:DVSI在语音编解码技术方面的持续创新,如推出新一代的高效压缩算法,进一步提升了产品的竞争力。
  2. 市场拓展与国际化:随着公司实力的增强,DVSI开始拓展国际市场,与全球多家知名企业建立合作关系,实现了国际化发展。
  3. 合作与竞争:在电子行业中,DVSI与其他企业的合作与竞争并存。他们通过合作共赢的方式,共同推动行业的发展;同时,也面临着来自竞争对手的挑战和竞争压力。
  4. 企业文化与团队建设:DVSI注重企业文化建设,倡导创新、协作、共赢的价值观。他们注重团队建设,吸引了一批优秀人才加入公司,为公司的发展提供了有力的人才保障。

以上故事和框架概述仅供参考,您可以根据这些线索进一步挖掘和编写关于DVSI公司的故事。

Excel-Display Corporation公司的发展小趣事

随着市场竞争的加剧,EDC意识到只有不断创新才能在行业中立于不败之地。因此,公司加大了对新技术、新产品的研发投入。

经过数年的努力,EDC成功研发出了一种新型的显示技术,该技术在色彩还原、对比度等方面都达到了行业领先水平。这一技术的推出,不仅让EDC的产品在市场上获得了更高的认可度,也引领了整个行业的发展潮流。

问答坊 | AI 解惑

Flash FPGA十八般武艺于一身,打拼便携式

无疑,火热的便携式市场吸引了众多商家的目光。姑且不论新推出的iphone ,且看我们面前的手机:显示屏,GPS ,RF芯片,电源管理芯片,已经足以形成一个庞大完善的产业链。如果算上同样火热的军用、汽车、工业以及愈来愈炙手可热的医疗电子,怪不得能 ...…

查看全部问答>

可以在一个函数里嵌入汇编吗?

请问可以在一个函数里嵌入汇编吗? 如何加, 要包含什么文件?…

查看全部问答>

关于AT89S52

我刚买了一个AY-USB-51F的机子,为什么会出现编程器不存在,,…

查看全部问答>

PC好久没解决的问题。。

很奇怪的是运行CS或是其他游戏,或拷贝文件,会出现显示器关闭,死机状态。。不知道为什么。。。有时候蓝屏。。。。是硬件问题???…

查看全部问答>

学习单片机汇编用什么编译器好!

最近这段时间正在学习单片机,看的是李光地老师的单片机基础,里面用到的都是汇编语言,但没用讲开发环境之类的东西,所以我想问问学习单片机汇编用什么编译器好…

查看全部问答>

C8051FXXX Keil C环境使用问题。

折腾了两天,还没弄明白这个C8051F的开发环境是如何使用。 现在的情况是这样子: 刚开始时我安装了KEIL C+C8051F的Keil µVision 调试驱动 v3.40 。 然后可以在KEIL C里找到C8051F320这个芯片了,可是去看了一下它的头文件,发现定义的东西 ...…

查看全部问答>

公司一直采用8051F和ARM系列单片机,采用下TI的试试

       打算应用于低功耗的LED声光产品中,看了TI的介绍被TI的低功耗和节能吸引,在全球倡导绿色环保的大背景下,相信节能,减排,绿色,环保的产品更能深入人心。…

查看全部问答>

大家帮我看看串口接收中断的小麻烦。。。

各位高手,有2个大麻烦: 1、下好程序后,串口有接收到数据可以跳中断,但是,第二次下程序后,就不能跳到中断处理函数了,必须重新上电后才可以重新跳中断,这是为什么尼? 2、我想用串口接收中断来接收一个字符串,以目前来看只能接收到 ...…

查看全部问答>

大牛工程师应该掌握的20个模拟电路,,,

学习自动化、电子等电控类专业的人士都应该且能够记住的二十个基本模拟电路。初级层次是熟练记住这二十个电路;中级层次是能分析这二十个电路中的关键元器件的作用;高级层次是能定量计算这二十个电路的输入输出阻抗、输出信号与输入信号的比值、电 ...…

查看全部问答>

用keil 4在调试时总是出现这样的语法错误,请问该怎么解决!

MAIN.C(1): warning C500: LICENSE ERROR (R208: RENEW LICENSE ID CODE (LIC)) 这是提示的错误,但是不知道哪里错了,请各位帮帮小弟!谢谢!…

查看全部问答>