产品程序运行稳定性问题:假如HSE初始化失败,需要做哪些事情?

2019-07-14 14:47发布

下面几点涉及到产品程序稳定性,请教一下大神们
1、假如HSE初始化失败,需要做哪些事情?(重启芯片?将时钟配置HSI?或者其他?) if(HSE 成功)
{
   .......
}
else  { /* If HSE fails to start-up, the application will have wrong clock
         configuration. User can add here some code to deal with this error */
    需要做什么处理?
  }
2、程序中是否需要加入看门狗?假如程序测试完善没有问题,那是否存在程序自己跑飞的可能性?在什么条件下能自己跑飞?
3、在异常中断服务里面,假如HardFault_Handler()中是否要加入一些处理?(打印log?呼吸灯?芯片复位?)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
60user1
1楼-- · 2019-07-14 18:46
1、直接复位;
2、需要。就算产品测试得很完善,用户使用的过程中还是会有一些不可预估的操作,导致程序跑飞死机;
3、先打印 log 便于定位问题,再芯片复位;
lining870815844
2楼-- · 2019-07-14 22:07
 精彩回答 2  元偷偷看……
lining870815844
3楼-- · 2019-07-15 02:25
感谢回复。
1、直接复位;(假如HSE坏了,是不是会不停的复位呢,需要开启HSI不)
2、需要。就算产品测试得很完善,用户使用的过程中还是会有一些不可预估的操作,导致程序跑飞死机;
(看门狗一般设置多久超时重启?是不是越快越好?)
3、先打印 log 便于定位问题,再芯片复位;
(开启printf功能(#pragma import(__use_no_semihosting))对串口的正常收发数据会不会有影响?)
cknz
4楼-- · 2019-07-15 07:43
如果这样,说明他晶体匹配比较零界,跨导应该要小于5.我们开发板上的HSE,直接摸上去都没事的.
UserMen
5楼-- · 2019-07-15 11:55
楼主说的"假如HSE初始化失败",我基本上就是晶振焊的时候温度过高,将烙铁温度调到300度重新换一个晶振就解决了。
lining870815844
6楼-- · 2019-07-15 16:47
那是不是每一个使用STM32芯片的产品都需要开启CSS功能呢?

一周热门 更多>