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

STM32103单片机在做串口同时,接收不定长数据解决方案

8a592285ef16a4ac 2018-12-01 浏览量:1054
STM32103单片机在做串口同时,接收不定长数据解决方案,希望能够使用DMA接收不定长数据,向用串口完成中断,但是如何与DMA结合使用?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 关键词:空闲中断

    串口空闲中断是指,串口接收到数据之后,若干周期没有新数据到达时,触发串口中断,置空闲标志位。

    在空闲中断里,取出DMA里成功接收的内容即可。

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

其他答案 数量:9
  • 最长的数据包会有多大,不行就接收超时来做,将时间放长,能将最大数据包收完。
    • 发布于2018-12-01
    • 举报
    • 评论 0
    • 3
    • 0

  • 这个接收问题不大,但解读可能很麻烦。
    • 发布于2018-12-01
    • 举报
    • 评论 0
    • 1
    • 0

  • DMA+串口空闲中断,详情见这个链接^_^,STM32之串口DMA接收不定长数据 - - 21ic电子技术论坛 http://bbs.21ic.com/forum.php?mod=viewthread&tid=2555680&page=1#pid9596920
    • 发布于2018-12-01
    • 举报
    • 评论 0
    • 1
    • 0

  • 可以参考社区会员狗头的DMA接收不定长的方案。另外,如果DMA不好整,就接收超时来做,将时间放长点。
    • 发布于2018-12-02
    • 举报
    • 评论 0
    • 1
    • 0

  • dma不好做,数据长度不一致做不了,如果不用dma用串口中断就可以做
    • 发布于2018-12-01
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32F103的单片机可以使用串口空闲中断的方式
    • 发布于2018-12-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口使能一个完成中断,DMA不用开任何中断,串口初始化完成后就启用DMA与完成中断,每次串口完成中断出现时先禁用中断与DMA,然后将DMA里面数据取出来处理,然后再打开中断并复位DMA
    • 发布于2018-12-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个可以用DMA加一个空闲中断来处理,直接在你的数据里面做一个相关的控制
    • 发布于2019-01-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般都是用一个DMA和一个串口空闲中断来接收不定长数据
    • 发布于2019-01-12
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32103单片机在做串口同时,接收不定长数据解决方案