• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32F4为什么在用DMA时总是不能随意关闭或打开DMA

qiuqiu 2018-08-03 浏览量:1666
不能随意关闭或打开DMA,比如在主函数中关闭或打开,在定时器中断中,更新中断,空闲中断之类的,用的时候写了关闭打开语句,但是调试时根本就没有关闭打开现象
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • DMA的现象是数据不再更新,你要看一下DMA中的数据还更不更新了

    再有,你要运行到关闭语句的下一句时,上一句才会有效的。
    无论是关开,都要在main中,不要在中断中处理
    最好是在DMA传输完成兵器进行关闭,不要在工作过程中关闭
    • 发布于 2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:9
  • 一般都是用时钟来触发,使能时钟就可以了


    • 发布于2018-08-03
    • 举报
    • 评论 0
    • 0
    • 0

  • 你单步执行以下,看看是否 运行相关的程序
    • 发布于2018-08-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 你最好调试追踪一下,这个不好说。
    • 发布于2018-08-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个要检查一下你的配置,首先保证模块在配置的时候没有资源冲突的问题
    • 发布于2018-08-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是程序冲突了 单步调试一下看看具体是哪里
    • 发布于2018-08-08
    • 举报
    • 评论 0
    • 0
    • 0

  • DMA是可以随时打开或者关闭的,只是关闭后在DMA里面的数据就取不出来了,而且DMA打开后是随时都在工作的
    • 发布于2018-08-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 不能再调试模式下进行,需要直接运行程序
    • 发布于2018-08-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 仔细检查一下你的软件代码,可以单步调试查找问题
    • 发布于2018-08-28
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32F4为什么在用DMA时总是不能随意关闭或打开DMA