坚强阿武 2022-08-31 10:02 采纳率: 37.5%
浏览 23

MM32F0131 死机问题

问题遇到的现象和发生背景

MM32F0131 死机问题

问题相关代码,请勿粘贴截图

死机现象1: 50ms定时器,硬件错误中断不执行。
由于50ms定时器是一直开着的,所以认为程序已经跑飞,但是很奇怪程序跑飞硬件错误中断也不执行
u8 Flag_Timer,Flag_Hard;
void TIM16_IRQHandler(void) //5MS
{
if (TIM_GetITStatus(TIM16, TIM_IT_Update) != RESET)
{
TIM_ClearITPendingBit(TIM16, TIM_IT_Update);
Flag_Timer=!Flag_Timer;
if(Flag_Timer)
LED1_ON;
else
LED1_OFF;
}
}

void HardFault_Handler(void)
{
while(1)
{
Flag_Hard=!Flag_Hard;
if(Flag_Hard)
LED1_ON;
else
LED1_OFF;
Delayms(50);
}
}
死机现象2:按键按下触发 ADC DMA时才出现死机
死机现象3:单独循环开启ADC_DMA,不会死机
while(1)
{
ADC_DMA();
}

死机现象4:同一个程序,用jlink调试,测试按键触发ADC DMA 500次未死机
程序不变,不调试,正常运行,测试开启按键触发ADC DMA 500次,死机20次

  • 写回答

1条回答 默认 最新

  • qllaoda 2022-08-31 10:28
    关注

    硬件错误中断里就不要调用函数了,本来就异常了,这里不适合执行函数调用,再简单的都不要。
    写个while(1),用仿真器看有没有跳进去就是了。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月31日

悬赏问题

  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout