久芯网

stm32l053例程测试

avatar zyqwxw 提问时间: 2023-07-20 06:37:04 / 未解决
我用L053的例程ADC-MDA方式,DMA中断程序,         void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma),为什么
if ((0U != (flag_it & (DMA_FLAG_HT1 << (hdma->ChannelIndex & 0x1cU)))) && (0U != (source_it & DMA_IT_HT)))
  {
      /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */
      if((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U)
      {
        /* Disable the half transfer interrupt */
        __HAL_DMA_DISABLE_IT(hdma, DMA_IT_HT);
      }
      /* Clear the half transfer complete flag */
     hdma->DmaBaseAddress->IFCR = DMA_ISR_HTIF1 << (hdma->ChannelIndex & 0x1cU);

      /* DMA peripheral state is not updated in Half Transfer */
      /* but in Transfer Complete case */

     if(hdma->XferHalfCpltCallback != NULL)
      {
        /* Half transfer callback */
        hdma->XferHalfCpltCallback(hdma);
                                       
      }

为什么        hdma->XferHalfCpltCallback(hdma);这一句仿真不了,提示不能设置断点。仿真时运行到
  这一句    hdma->XferErrorCallback(hdma);

如需获得 stm32l053 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

7个回答
  • avatar zyqwxw
    回答时间: 2023-07-20 07:05:16

    这个程序还有一个问题请问一下:DMA中断有几个选项,半传输中断,全传输中端,但为啥只能进入半传输中断。

  • avatar butterflyspring
    回答时间: 2023-07-20 07:22:39

    这个传输一半的断点是可以仿真的,只要回调函数注册了都是可以的。从你的问上看,已经可以进入了半传输中断了~~ 只能进入半传输中断我猜是因为函数只传输了一个字节,而且是循环模式。再中断的判断中是先判断是否半传输中断标志,所以它占据了C位,只能执行它啦,哈哈~~~ /* ### - 4 - Start conversion in DMA mode ################################# */ if (HAL_ADC_Start_DMA(&AdcHandle, &aResultDMA, 1) != HAL_OK) { Error_Handler();

  • avatar xmshao
    回答时间: 2023-07-20 07:52:08

    像这类情况,一般情形我们会关注下优化等级,再就是参数或变量的有效性。具体到这里,你看看你的相关DMA启动函数里有没有定义相应的回调函数,否则为NULL,自然这里就不会得到执行。你自己确认下。

  • avatar yklstudent
    回答时间: 2023-07-20 08:13:00

    mark,签到+1

  • avatar zyqwxw
    回答时间: 2023-07-20 08:32:35
    butterflyspring 发表于 2022-8-25 16:13
    这个传输一半的断点是可以仿真的,只要回调函数注册了都是可以的。从你的问上看,已经可以进入了半传输中断 ...

    一语道破啊,谢谢!

  • avatar zyqwxw
    回答时间: 2023-07-20 08:56:45
    xmshao 发表于 2022-8-25 17:27
    像这类情况,一般情形我们会关注下优化等级,再就是参数或变量的有效性。具体到这里,你看看你的相关DMA启 ...

    是优化等级的问题,谢谢!

  • avatar xmshao
    回答时间: 2023-07-20 09:13:36
    zyqwxw 发表于 2022-8-26 09:20
    是优化等级的问题,谢谢!

    谢谢反馈!

会员中心 微信客服
客服
回到顶部