搜索
bottom↓
回复: 36

STM32无法进入主循环

[复制链接]

出0入0汤圆

发表于 2018-12-5 10:49:03 | 显示全部楼层 |阅读模式
最近做了一个基于STM32F103的小系统,供电用的AC-DC模块,现在发现直接插220V插头后程序无法进入主循环。
原先我以为是插头瞬间的干扰导致的,加入TVS还是一样,现在通过软件看门狗,程序一直重启始终还是进不了while。第一次这么用,就遇到问题,头大。

出0入0汤圆

 楼主| 发表于 2018-12-5 20:50:02 | 显示全部楼层
kebaojun305 发表于 2018-12-5 17:53
.s的启动代码中有系统PLL的初始化,看看是不是这里死掉了。

我感觉也是.s启动的问题,不知道看门狗复位后从哪运行的,看门狗反复复位一直运行有问题。通过目前现象,我估计是部分加载成功(至少液晶和看门狗是正常运行的),部门功能没有加载成功(RTC无法运行)。最终我把复位电容改成100uf,强制延长上电时间,目前看起来是有效的,我再测试测试看看。

出0入0汤圆

发表于 2018-12-5 11:01:35 | 显示全部楼层
我用STM32F030F4P6做了个小玩意也是这样,在电脑调试都正常,脱机后接AC-DC就不工作了,折腾好久也没解决

出0入0汤圆

 楼主| 发表于 2018-12-5 11:12:09 | 显示全部楼层
lisingch 发表于 2018-12-5 11:01
我用STM32F030F4P6做了个小玩意也是这样,在电脑调试都正常,脱机后接AC-DC就不工作了,折腾好久也没解决{: ...

我的也是,接上仿真器就可以,用了AC-DC就不行了。

出0入0汤圆

发表于 2018-12-5 11:16:06 | 显示全部楼层
hyghyg1234 发表于 2018-12-5 11:12
我的也是,接上仿真器就可以,用了AC-DC就不行了。

接上仿真器一切正常,接上AC-DC就不工作。换过电源、换过HT7533、加大滤波电容都不行,工程直接烂尾了 看着都闹心。

出0入0汤圆

 楼主| 发表于 2018-12-5 11:19:26 | 显示全部楼层
lisingch 发表于 2018-12-5 11:16
接上仿真器一切正常,接上AC-DC就不工作。换过电源、换过HT7533、加大滤波电容都不行,工程直接烂尾了{:l ...

这么惨的吗。

出0入0汤圆

发表于 2018-12-5 11:26:13 | 显示全部楼层

我这是12V的AC-DC用来驱动LED灯珠,同时经HT7533降压后供MCU。

出0入0汤圆

 楼主| 发表于 2018-12-5 11:29:49 | 显示全部楼层

用示波器抓上电一瞬间5V的波形,有震荡。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出130入129汤圆

发表于 2018-12-5 11:33:54 来自手机 | 显示全部楼层
lisingch 发表于 2018-12-5 11:26
我这是12V的AC-DC用来驱动LED灯珠,同时经HT7533降压后供MCU。

有可能ldo过冲让单片机死翘翘了

出0入0汤圆

发表于 2018-12-5 11:42:41 | 显示全部楼层
hyghyg1234 发表于 2018-12-5 11:29
用示波器抓上电一瞬间5V的波形,有震荡。

准备近期再试试,半成品的东西堆在那也不是个事。

出0入0汤圆

发表于 2018-12-5 11:42:46 | 显示全部楼层
lisingch 发表于 2018-12-5 11:01
我用STM32F030F4P6做了个小玩意也是这样,在电脑调试都正常,脱机后接AC-DC就不工作了,折腾好久也没解决{: ...

我也用这个芯片做QC诱骗,在仿真情况下可以成功,直接上电运行则一直失败,但后面灯闪的正常

出0入0汤圆

发表于 2018-12-5 11:43:54 | 显示全部楼层
68336016 发表于 2018-12-5 11:33
有可能ldo过冲让单片机死翘翘了

劳驾给指点一下

出0入0汤圆

发表于 2018-12-5 11:45:31 | 显示全部楼层
hy317 发表于 2018-12-5 11:42
我也用这个芯片做QC诱骗,在仿真情况下可以成功,直接上电运行则一直失败,但后面灯闪的正常 ...

最终解决没?

出0入0汤圆

 楼主| 发表于 2018-12-5 11:49:01 | 显示全部楼层
68336016 发表于 2018-12-5 11:33
有可能ldo过冲让单片机死翘翘了

单片机没有死,初始化照样执行的,就是进不去while看门狗一直重启,重启这个过程电源应该是稳定的,但还是进不去主循环。

出0入0汤圆

发表于 2018-12-5 12:01:09 | 显示全部楼层
回忆当时的过程,AC-DC电源是成品并在PCB上接好的,插上仿真调试正常后再拔下就不工作了,重新插上仿真又能工作。当时还想做个小玩意还得搭个仿真器成本也太高了!

出0入0汤圆

发表于 2018-12-5 12:01:38 | 显示全部楼层
看一下是不是hardfault了   1是加个大电容,防止LDO过冲,2是看看MCU是飞到哪里了  3是看门狗呢?

出0入0汤圆

 楼主| 发表于 2018-12-5 13:51:02 | 显示全部楼层
lisingch 发表于 2018-12-5 12:01
回忆当时的过程,AC-DC电源是成品并在PCB上接好的,插上仿真调试正常后再拔下就不工作了,重新插上仿真又能 ...

你的电路里面用了RTC吗

出0入0汤圆

发表于 2018-12-5 14:14:14 | 显示全部楼层
hyghyg1234 发表于 2018-12-5 13:51
你的电路里面用了RTC吗

没有用RTC,只用了ADC和PWM。

出0入0汤圆

发表于 2018-12-5 14:52:13 | 显示全部楼层

没有找到根本原因,前面不行的这个程序只是通过延时来实现的,只有在调试状态才能诱骗成功,重新上电就不行;后来加了AD来判断就可以了。

出0入0汤圆

 楼主| 发表于 2018-12-5 15:43:52 | 显示全部楼层
hy317 发表于 2018-12-5 14:52
没有找到根本原因,前面不行的这个程序只是通过延时来实现的,只有在调试状态才能诱骗成功,重新上电就不 ...

会不会是AC-DC模块的问题,做的好的模块是不是没有这个瞬间脉冲问题呢

出0入0汤圆

 楼主| 发表于 2018-12-5 15:46:02 | 显示全部楼层
lisingch 发表于 2018-12-5 14:14
没有用RTC,只用了ADC和PWM。

我的电路目前发现屏蔽掉RTC部分程序就可以正常工作了。拔掉仿真器后RTC时钟好像就出问题卡主了,我担心其他地方会不会也有问题。

出0入0汤圆

发表于 2018-12-5 15:54:33 | 显示全部楼层
hyghyg1234 发表于 2018-12-5 15:43
会不会是AC-DC模块的问题,做的好的模块是不是没有这个瞬间脉冲问题呢

可以通过点灯或其他IO状态来判断程序大致运行到什么地方了。
你有用到看门狗有可能是在什么地方超时了吧

出90入0汤圆

发表于 2018-12-5 16:36:39 | 显示全部楼层
一般是主振荡器没有稳定引起的。
修改延时。
或增加延时。

出0入8汤圆

发表于 2018-12-5 17:53:51 | 显示全部楼层
.s的启动代码中有系统PLL的初始化,看看是不是这里死掉了。

出0入0汤圆

发表于 2018-12-5 21:56:47 | 显示全部楼层
还有一种可能,外部中断被意外触发,而程序对这种异常中断没处理,就不停的复位,贴原理图上来看看

出0入0汤圆

发表于 2018-12-5 22:11:45 | 显示全部楼层
加个复位芯片

出0入0汤圆

发表于 2018-12-5 22:35:00 | 显示全部楼层
上电复位时间长一点,初始化时候 delay

出0入0汤圆

 楼主| 发表于 2018-12-5 22:44:46 | 显示全部楼层
star_tale 发表于 2018-12-5 21:56
还有一种可能,外部中断被意外触发,而程序对这种异常中断没处理,就不停的复位,贴原理图上来看看 ...

复位是我加入看门狗才会有的,没有看门狗的情况程序初始化后直接卡死了。

出0入0汤圆

 楼主| 发表于 2018-12-5 22:45:07 | 显示全部楼层
makathy 发表于 2018-12-5 22:35
上电复位时间长一点,初始化时候 delay

delay不行的,.s加载就已经出现问题了。

出0入0汤圆

发表于 2018-12-5 22:50:00 | 显示全部楼层
我遇到的类似的问题,main进来就delay了1s多的时间

出0入0汤圆

发表于 2018-12-6 00:22:25 来自手机 | 显示全部楼层
卡死之后插jlink attach然后打断点看停在哪里?

出0入0汤圆

发表于 2018-12-6 05:40:01 | 显示全部楼层
lisingch 发表于 2018-12-5 11:26
我这是12V的AC-DC用来驱动LED灯珠,同时经HT7533降压后供MCU。

你用了外部晶振?

出0入0汤圆

发表于 2018-12-6 08:22:08 | 显示全部楼层
not_at_all 发表于 2018-12-6 05:40
你用了外部晶振?

用的是HSI。

出0入0汤圆

发表于 2018-12-6 17:05:05 | 显示全部楼层
我认为是硬件设计问题,是不是BOOT0没接逻辑0?

出0入0汤圆

发表于 2018-12-10 14:04:39 | 显示全部楼层
hyghyg1234 发表于 2018-12-5 22:44
复位是我加入看门狗才会有的,没有看门狗的情况程序初始化后直接卡死了。 ...

启动后,屏蔽看部门狗,禁能所有中断(越早越好),然后点个灯,看程序还死不

出0入0汤圆

 楼主| 发表于 2018-12-10 14:27:07 | 显示全部楼层
star_tale 发表于 2018-12-10 14:04
启动后,屏蔽看部门狗,禁能所有中断(越早越好),然后点个灯,看程序还死不 ...

目前通过延时复位,暂时没有发现问题。

出0入0汤圆

发表于 2018-12-12 10:46:20 | 显示全部楼层
勾选微库试下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-11 02:37

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表