§MiCE§ 发表于 2018-3-11 15:36:21

主程序跑在错误大循环里是哪里的问题。

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

   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 */
}

§MiCE§ 发表于 2018-3-11 16:26:56

是小弟的失误没有把事情说好。MCU是用的STM32F030C8。以下图是程序运行到的节点。

Tcreat 发表于 2018-3-11 15:53:39

你这样问应该不是自己创建的工程吧 要么别人的程序 要么就是cube创建的如果是cube创建的工程很多地方都会调用这个错误处理程序 比较RCC启动、切换不过去啥的没有添加用户代码的错误处理程序 进去后很难知道是那里错误了仿真的时候最好是在调用错误处理程序的地方加断点 看看到底是在哪里进入这个函数的 然后才好找问题

toofree 发表于 2018-3-11 16:14:18

本帖最后由 toofree 于 2018-3-11 16:19 编辑

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



§MiCE§ 发表于 2018-3-11 16:35:22

Tcreat 发表于 2018-3-11 15:53
你这样问应该不是自己创建的工程吧 要么别人的程序 要么就是cube创建的如果是cube创建的工程很多地方都 ...

好的谢谢!!

§MiCE§ 发表于 2018-3-11 16:55:44

toofree 发表于 2018-3-11 16:14
如楼上所说。
你这给个错误,让分析问题。就如同看一根腿毛,猜这人是谁,难度太大。
好歹要告诉,用的什么 ...

非常感谢!!

wenyangzeng 发表于 2018-3-11 17:46:00

堆栈溢出、晶振停振或其他硬件故障都掉进Error_Handler()

§MiCE§ 发表于 2018-3-11 18:35:14

找到原因了,外部晶振挂了。软件没有做内外晶振切换,换了晶振就好了。谢谢各位了。7楼的正解。
页: [1]
查看完整版本: 主程序跑在错误大循环里是哪里的问题。