You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32H747复刻DCMI_Snapshot示例遇DMA溢出中断异常求助

问题:STM32H747 DCMI复刻代码触发DMA溢出中断,MISR值与官方示例不符

我复刻STM32H747开发板的DCMI_Snapshot示例代码时,程序触发了DMA溢出中断。调试发现官方示例中isr_value值为25,而我的代码运行时该值为26。

相关中断处理代码如下:

uint32_t isr_value = READ_REG(hdcmi->Instance->MISR);
/* Overflow interrupt management ********************************************/
if ((isr_value & DCMI_FLAG_OVRRI) == DCMI_FLAG_OVRRI)
{
    /* Clear the Overflow flag */
    __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_OVRRI);

    /* Update error code */
    hdcmi->ErrorCode |= HAL_DCMI_ERROR_OVR;

    /* Change DCMI state */
    hdcmi->State = HAL_DCMI_STATE_ERROR;

    /* Set the overflow callback */
    hdcmi->DMA_Handle->XferAbortCallback = DCMI_DMAError;

    /* Abort the DMA Transfer */
    (void)HAL_DMA_Abort_IT(hdcmi->DMA_Handle);
}

我已尝试以下操作,但问题仍未解决:

  • 在IOC文件中切换中断配置
  • 启用所有中断
  • 修改字节宽度(默认设为字节)

内容的提问来源于stack exchange,提问作者Stack_k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 08:34:53