历史上的今天
返回首页

历史上的今天

今天是:2025年03月06日(星期四)

正在发生

2020年03月06日 | STM8无法跳出TIM2更新中断

2020-03-06 来源:eefocus

刚学STM8,把如何解决调试过程中出现的问题记录下来。


芯片采用的是STM8S103F3P6,准备做一个刷卡模块,其中delay函数是用tim2定时器实现的。在网上下的例程,delay函数的单位是1ms,我觉得间隔时间有点长了,准备改成10us,使用HSE外部晶振8MHz,8分频,计10个数产生更新中断。再做一个ms的延时函数,100个10us延时函数实现。


问题现象:

在运行的过程中,发现timer2初始化,打开中断函数enableinterrupts后,程序无法跳出。


问题分析步骤:

1.我先进行了调试,发现程序在tim2的中断服务函数里无法跳出,一开始我认为可能是清除中断标志位的代码没有执行,或是清除中断标志位应该放在进入中断服务函数之后就立即执行,把代码移到中断服务函数中第一句,再运行,还是不行;


2.打开寄存器显示窗口,对照着stm8s的中文手册,找到tim2的寄存器相关内容,单步调试,发现TIM2->SR1的清除中断位有被置0,但是隔几步就又会被置1,我先分析可能是某一处代码的问题,但是重新开始了四五次,发现置1的时机是不固定的。这时我才注意到CNTRL这个寄存器,好像是每次都是在这个寄存器的值变成0x09之后SR1置1的。这才反应过来,可能是tim2的中断服务函数在处理的过程中,又有一个更新中断进来,把SR1的更新中断位重新置1,也就是说我的tim2的定时时间过短。


问题解决:

在延长了定时器的更新时间(100us)后,问题解决了。


总结:

在调试的过程中,发现了查看寄存器的威力,这是一种能够更快解决问题的方法。之前使用stm32的时候由于网上资源丰富,基本上哪种问题都能搜索到,一开始上手也是学的库函数版本,所以对寄存器调试使用不多,多是用watch窗口看变量值的方法。但是stm8网上资源较少,更多还需要自己动手,这才体现出查看寄存器值的优势。从发现问题到解决问题一共用时三小时左右。

推荐阅读

史海拾趣

Chip Technologies Inc公司的发展小趣事

Chip Technologies Inc自成立以来,一直致力于芯片技术的研发与创新。在某一年,公司成功研发出一款具有划时代意义的芯片,这款芯片在功耗、性能及集成度等方面均达到了行业领先水平。这一技术突破迅速赢得了市场的认可,公司订单量激增,业绩大幅提升。随着技术的不断迭代与完善,Chip Technologies Inc逐渐在电子行业树立起了技术领先的形象,并成功吸引了众多投资者的关注。

上海晶岳(AFSEMI)公司的发展小趣事

上海晶岳电子有限公司自2010年成立以来,就将目标锁定在60V以下MOSFET产品线及锂电池保护IC系列产品。在公司创始人的领导下,晶岳电子团队凭借对技术的深入理解和市场的敏锐洞察,迅速在行业中崭露头角。他们不仅注重产品的研发和设计,还积极与上下游企业合作,优化供应链,确保产品质量和交货期的稳定。经过几年的努力,晶岳电子在MOSFET领域建立了良好的口碑,为后续的发展奠定了坚实的基础。

AB Connectors Ltd公司的发展小趣事

随着全球环保意识的不断提高,AB Connectors Ltd积极响应国家绿色发展的号召,将环保理念融入到企业的生产经营中。公司采用环保材料和生产工艺,减少了对环境的污染。同时,公司还加强了对废弃物的处理和回收利用,实现了资源的循环利用。这些举措不仅提升了公司的社会形象,还为公司的可持续发展奠定了坚实基础。

以上五个故事基于电子行业的一般发展情况和公司可能面临的挑战与机遇进行了虚构,旨在展示AB Connectors Ltd在发展过程中可能经历的重要阶段和取得的成就。请注意,这些故事并非基于真实事件,仅用于说明目的。

AAEON公司的发展小趣事

随着全球环保意识的不断提高,AB Connectors Ltd积极响应国家绿色发展的号召,将环保理念融入到企业的生产经营中。公司采用环保材料和生产工艺,减少了对环境的污染。同时,公司还加强了对废弃物的处理和回收利用,实现了资源的循环利用。这些举措不仅提升了公司的社会形象,还为公司的可持续发展奠定了坚实基础。

以上五个故事基于电子行业的一般发展情况和公司可能面临的挑战与机遇进行了虚构,旨在展示AB Connectors Ltd在发展过程中可能经历的重要阶段和取得的成就。请注意,这些故事并非基于真实事件,仅用于说明目的。

爱普特半导体(APTSEMI)公司的发展小趣事

在全球供应链受到冲击、芯片告急的背景下,爱普特半导体始终坚持纯国产化发展理念。公司从管理层到核心研发人员,都具有深厚的半导体从业经验,无需借助任何海外团队支持,就能实现技术攻关和市场把控。这种全国产化的优势使得爱普特在面对外部风险时能够保持稳健的发展态势,也为公司的长远发展奠定了坚实基础。

ATOP_Technologies公司的发展小趣事

随着技术的不断进步,ATOP Technologies意识到要想在激烈的市场竞争中保持领先地位,必须不断进行技术创新和产品升级。因此,公司加大了在研发方面的投入,积极引进高端人才,加强与高校和研究机构的合作。经过多年的努力,ATOP Technologies成功开发出了一系列具有自主知识产权的工业自动化产品,并在市场上取得了良好的口碑。

问答坊 | AI 解惑

被动电子元件

电子 初学者的 基础 基础决定高度…

查看全部问答>

全国大学生电子设计大赛历年题目

本帖最后由 paulhyde 于 2014-9-15 09:17 编辑 全国大学生电子设计大赛历年题目 分享吧  …

查看全部问答>

串行接口10位单通道A_D转换TLC1549中文数据资

本帖最后由 paulhyde 于 2014-9-15 04:12 编辑 供大家 参考  …

查看全部问答>

mc55休眠唤醒?

休眠采用AT+CFUN=7 在这MC55休眠唤醒采用的是硬件流控,但休眠后唤醒不了,怎么回事?(在这可以给CTS一个电平来唤醒不?) 除了这种外还有什么方法唤醒模块? …

查看全部问答>

文件系统的开发

我想自己做一个FAT32文件系统用于UCOS,请问哪里有源码和相关资料可以学习一下?…

查看全部问答>

nor flash nand flash问题大家指教。

现在马上要做一个东西,就是以前的板子上是nor+nand flash的方式,现在只用nand flash做uboot、kernel 文件系统。 请问我要怎样做,才能把uboot、kernel、文件系统都烧到只有nand flash的板子上并让他运行,并没问题。 请问我要怎么入手做这 ...…

查看全部问答>

iap使用问题

使用str711的iap功能向 flash bank1 写入数据 但是每次 执行写入 或者 清除片内内容时,系统都会重启,请问为何?…

查看全部问答>

iar5.40.7连接stm32f10xx问题

                                 我这有一个stm32f10xx的开发板,但是使用IAR5.40.7的开发软件,可是编译通过了,可无论如很都写不进flash,也无法 ...…

查看全部问答>

高价求芯片、电路设计,高手QQ1342451273

高价求芯片、电路设计,高手QQ1342451273…

查看全部问答>

请教一下,在沈阳做电路板制作有市场吗?

  请教一下大家,我想在沈阳开一个制作电路板的小店,主要是针对零散小批量的客户,利用雕刻机做,不知道有没有市场,需求量怎么样?有了解的朋友能不能给点建议。先谢谢大家了!…

查看全部问答>