你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32l053例程测试

[复制链接]
zyqwxw 提问时间:2022-8-25 10:47 / 未解决
我用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);
收藏 评论7 发布时间:2022-8-25 10:47

举报

7个回答
zyqwxw 回答时间:2022-8-25 11:25:05
这个程序还有一个问题请问一下:DMA中断有几个选项,半传输中断,全传输中端,但为啥只能进入半传输中断。
butterflyspring 回答时间:2022-8-25 16:13:50
这个传输一半的断点是可以仿真的,只要回调函数注册了都是可以的。从你的问上看,已经可以进入了半传输中断了~~
只能进入半传输中断我猜是因为函数只传输了一个字节,而且是循环模式。再中断的判断中是先判断是否半传输中断标志,所以它占据了C位,只能执行它啦,哈哈~~~


/* ### - 4 - Start conversion in DMA mode ################################# */
  if (HAL_ADC_Start_DMA(&AdcHandle, &aResultDMA, 1) != HAL_OK)
  {
    Error_Handler();

xmshao 回答时间:2022-8-25 17:27:10
像这类情况,一般情形我们会关注下优化等级,再就是参数或变量的有效性。具体到这里,你看看你的相关DMA启动函数里有没有定义相应的回调函数,否则为NULL,自然这里就不会得到执行。你自己确认下。
yklstudent 回答时间:2022-8-25 20:12:15
mark,签到+1
zyqwxw 回答时间:2022-8-26 09:20:07
butterflyspring 发表于 2022-8-25 16:13
这个传输一半的断点是可以仿真的,只要回调函数注册了都是可以的。从你的问上看,已经可以进入了半传输中断 ...

一语道破啊,谢谢!
zyqwxw 回答时间:2022-8-26 09:20:37
xmshao 发表于 2022-8-25 17:27
像这类情况,一般情形我们会关注下优化等级,再就是参数或变量的有效性。具体到这里,你看看你的相关DMA启 ...

是优化等级的问题,谢谢!
xmshao 回答时间:2022-8-26 11:59:19
zyqwxw 发表于 2022-8-26 09:20
是优化等级的问题,谢谢!

谢谢反馈!
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版