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

STM32F407 DMA数据传输

sjsjling 2018-09-12 浏览量:752
请问一下,一个外设可能用两个DMA传输数据吗,DMA2数据流3和数据流5的通道3都是SPI1_TX,那么我能同时配置这两个DMA给SPI1发送数据吗?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 一个DMA控制器通常由多个通道,但是从外设到DMA的传输请求,是通过逻辑或的关系通过不同的通道到DMA控制器的,也就是同一时间只能由一个DMA请求有效。这也就是为什么通道有优先级的原因了。所以,严格讲是不可以的。
    • 发布于 2018-09-12
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:12
  • 同时发送是不行的, 要有分时
    • 发布于2018-09-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 其实关键的是外设上是否有多个DMA控制器,而不是多个通道,如果有多个DMA控制器,且相互独立,就可以实现相互独立的传数据,否则同时只能有1个DMA。


    在STM32中有这样的外设比较少,在电脑上其实诸如专业的存储服务器上一版都会有多个控制器,从而实现多路读写(互补影响)

    • 发布于2018-09-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 不可以的,只能是一个通讯,一般接收缓冲的数据读后就清了
    • 发布于2018-09-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 只能同时用一个DMA发送同一个DMA控制器每次传输数据都是独立的!
    • 发布于2018-09-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 延时发送可以尝试看看,因为毕竟是独立的
    • 发布于2018-09-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 不能,每个外设只能用一个DMA,每个DMA也只能被一个外设使用
    • 发布于2018-09-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 一个外设模块只能对应一个DMA通道,两个通道一起会产生冲突的情况
    • 发布于2018-09-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 不可以,除非你spi收发用不同的dma,这样才可以实现。
    • 发布于2018-09-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 不可以的哦

    DMA的通道都是会绑定唯一的一个外设的,在设置DMA时,设置了源地址只能设置一个的

    • 发布于2018-10-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 一个SPI只能对应一个DMA,不能对应多个通道
    • 发布于2018-10-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 不可以,同一时间只能使用一个DMA
    • 发布于2018-10-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32F407 DMA数据传输