你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
stm32L053R8 死机
[复制链接]
sevenchen
提问时间:2018-12-19 13:56 /
问答
是否解决:
求大神或者ST的技术支持帮忙解决,或者分析下在下的问题,stm32L053R8 偶然的死机重启,时间是不定的,可几天 可能几小时,怎么样才能抓的到该问题呢?
赞
0
收藏
0
评论
10
分享
发布时间:2018-12-19 13:56
举报
请先
登录
后回复
10个回答
wenyangzeng
回答时间:2018-12-19 14:07:07
a0a.1 32b0c
像这种情况应该先检查供电是否出现瞬间掉电或接触不良
评分
参与人数
1
蝴蝶豆
+2
收起
理由
STMCU
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
废鱼
回答时间:2018-12-19 14:09:22
a0a.1 32b0c
死机的表现是什么?在硬件错误中断中是否增加了打印,大多数是因为数组溢出操作导致进入硬件错误中断,没有开启看门狗导致复位失败。
评分
参与人数
1
蝴蝶豆
+1
收起
理由
STMCU
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
sevenchen
回答时间:2018-12-19 14:19:26
a0a.1 32b0c
供电是电池供电,开启了看门狗,现象是时间少了很多,我是1小时保存一次时间,可能回少几十分钟。
大家建议是什么呢,关闭看门狗?加打印?
赞
0
评论
回复
支持
反对
txywqp2015
回答时间:2018-12-19 14:42:26
a0a.1 32b0c
要先查找重启原因 软件导致还是硬件导致
评分
参与人数
1
蝴蝶豆
+1
收起
理由
STMCU
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
STM1024
回答时间:2018-12-19 14:47:49
a0a.1 32b0c
先找到死机的现象,能够把死机重现
评分
参与人数
1
蝴蝶豆
+1
收起
理由
STMCU
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
aiherong
回答时间:2018-12-19 19:53:01
a0a.1 32b0c
如果备用寄存器有空闲,试试备用寄存器:在程序中设立标记1,2,3...,看死机出现几率高的标记,问题的范围就锁定了
评分
参与人数
1
蝴蝶豆
+2
收起
理由
STMCU
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
五哥1
回答时间:2018-12-20 08:04:28
a0a.1 32b0c
先换成USB供电,排除电源的问题,然后,再找来相同的硬件一套,共同测试,排除硬件偶然出错的问题,这种现象是软件的出错的可能性小,没有规律的出错一般多在硬件部分。
评分
参与人数
1
蝴蝶豆
+2
收起
理由
STMCU
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
aiherong
回答时间:2018-12-25 22:27:29
a0a.1 32b0c
一般软件引起重启或死机多由内存溢出或冲突造成,如楼上所说的打印队列,还有中断处置不当皆有可能
而硬件方面我见过晶振(现行MCU很少发生),电源的稳定性(散热,市电浪涌,EMI,接触不良,热欠压过保护),虚焊,器件的半损伤,驱动功能的保护设计不足等等,但不大可能有几小时与几天的区别。
评分
参与人数
1
蝴蝶豆
+2
收起
理由
STMCU
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
sevenchen
回答时间:2018-12-28 08:36:55
a0a.1 32b0c
/* In case of interrupt mode is used, the interrupt source must disabled */
__HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRA);
tickstart = HAL_GetTick();
/* Wait till RTC ALRxWF flag is set and if Time out is reached exit */
while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == RESET)
我想请教下各位,在什么条件下 RTC_FLAG_ALRAWF不会置位,如果会就可以说明死机问题了,我模拟不出来什么情况会。。。。
赞
0
评论
回复
支持
反对
aiherong
回答时间:2019-2-9 10:37:41
a0a.1 32b0c
将下面一行插到你想让RTC_FLAG_ALRAWF不置位的代码之前即可实现
*(unsigned int *)0x40002800&=0xFFFFFFFD;
评分
参与人数
1
蝴蝶豆
+2
收起
理由
STMCU
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
评分
查看全部评分
评分
查看全部评分
大家建议是什么呢,关闭看门狗?加打印?
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
而硬件方面我见过晶振(现行MCU很少发生),电源的稳定性(散热,市电浪涌,EMI,接触不良,热欠压过保护),虚焊,器件的半损伤,驱动功能的保护设计不足等等,但不大可能有几小时与几天的区别。
评分
查看全部评分
__HAL_RTC_ALARM_DISABLE_IT(hrtc, RTC_IT_ALRA);
tickstart = HAL_GetTick();
/* Wait till RTC ALRxWF flag is set and if Time out is reached exit */
while(__HAL_RTC_ALARM_GET_FLAG(hrtc, RTC_FLAG_ALRAWF) == RESET)
我想请教下各位,在什么条件下 RTC_FLAG_ALRAWF不会置位,如果会就可以说明死机问题了,我模拟不出来什么情况会。。。。
*(unsigned int *)0x40002800&=0xFFFFFFFD;
评分
查看全部评分