主程序一直在下列循环中是哪里的问题

2019-07-14 18:23发布

各位大哥:主程序一直在下列循环中是哪里的问题。请指教,谢谢!

     void _Error_Handler(char * file, int line)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */
  while(1)
  {
  }
  /* USER CODE END Error_Handler_Debug */
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
60user135
1楼-- · 2019-07-15 02:11
你这样问应该不是自己创建的工程吧 要么别人的程序 要么就是cube创建的  如果是cube创建的工程  很多地方都会调用这个错误处理程序 比较RCC启动、切换不过去啥的  没有添加用户代码的错误处理程序 进去后很难知道是那里错误了  仿真的时候最好是在调用错误处理程序的地方加断点 看看到底是在哪里进入这个函数的 然后才好找问题
zhouxk
2楼-- · 2019-07-15 03:37
本帖最后由 toofree 于 2018-3-11 16:19 编辑

如楼上所说。
你这给个错误,让分析问题。就如同看一根腿毛,猜这人是谁,难度太大。
好歹要告诉,用的什么片片,如果是开发板,请给出开发板型号。程序都用了哪些外设,最好上个代码工程。
你既然在仿真,那也可以手动把程序指针设置到“}”的地方,让程序跳出死循环。看程序会跳到哪里去。


IseekerTonyZhu
3楼-- · 2019-07-15 05:08
60user135 发表于 2018-8-24 19:43
你这样问应该不是自己创建的工程吧 要么别人的程序 要么就是cube创建的  如果是cube创建的工程  很多地方都会调用这个错误处理程序 比较RCC启动、切换不过去啥的  没有添加用户代码的错误处理程序 进去后很难知道是那里错误了  仿真的时候最好是在调用错误处理程序的地方加断点 看看到底是在哪里进入这个函数的 然 ...

好的谢谢!!
IseekerTonyZhu
4楼-- · 2019-07-15 05:18
 精彩回答 2  元偷偷看……
ctwewer
5楼-- · 2019-07-15 09:23
堆栈溢出、晶振停振或其他硬件故障都掉进Error_Handler()
IseekerTonyZhu
6楼-- · 2019-07-15 14:09
找到原因了,外部晶振挂了。软件没有做内外晶振切换,换了晶振就好了。谢谢各位了。7楼的正解。

一周热门 更多>