查看: 4309|回复: 4

[求助] MKV30使用串口DMA发送数据出错

[复制链接]
  • TA的每日心情
    无聊
    2021-1-15 10:56
  • 签到天数: 39 天

    连续签到: 1 天

    [LV.5]常住居民I

    21

    主题

    116

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    436
    最后登录
    2021-10-9
    发表于 2020-11-10 13:49:11 | 显示全部楼层 |阅读模式
    本帖最后由 鹰宫璞爱惟 于 2020-11-10 14:01 编辑

    微信图片_20201110134652.png 微信图片_20201110134630.png
    如图,我配置DMA发送11个数据,但是串口接收到了14个数据,且数据是错的,我发送的是demoRingBuffer[11] = {0x1A,0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x00,0x0B}

    微信图片_20201110135854.png 微信图片_20201110135836.png
    如果这样写,相当于发送了两次,那么这两次的数据就是正常的。如果屏蔽掉任意一个。都会有问题。
    微信图片_20201110135854.png


    我知道答案 目前已有4人回答
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2021-1-15 10:56
  • 签到天数: 39 天

    连续签到: 1 天

    [LV.5]常住居民I

    21

    主题

    116

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    436
    最后登录
    2021-10-9
     楼主| 发表于 2020-11-10 15:16:23 | 显示全部楼层
    此问题已解决,
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-7-11 08:53
  • 签到天数: 301 天

    连续签到: 2 天

    [LV.8]以坛为家I

    3886

    主题

    7492

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    39401
    最后登录
    2025-7-25
    发表于 2020-11-10 16:18:22 | 显示全部楼层

    分享一下解决方法
    qiandao qiandao
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2021-1-15 10:56
  • 签到天数: 39 天

    连续签到: 1 天

    [LV.5]常住居民I

    21

    主题

    116

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    436
    最后登录
    2021-10-9
     楼主| 发表于 2020-11-10 16:25:06 | 显示全部楼层
    NXP管管 发表于 2020-11-10 16:18
    分享一下解决方法

    代码还是一样的代码,就是没做发送完成的处理,现在还有问题,手动用串口助手可以正常收发,但是高速模式下最后一位会出错。暂时分析的原因可能是我的速度太快,导致数据没发送完整,因为我是60us一次指令。现在的问题是从串口接收到数据,进入串口接收中断, 然后DMA发送数据,DMA的启动时间太长,达到了9us,我无法将这个时间缩短。
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-7-11 08:53
  • 签到天数: 301 天

    连续签到: 2 天

    [LV.8]以坛为家I

    3886

    主题

    7492

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    39401
    最后登录
    2025-7-25
    发表于 2020-11-10 16:35:13 | 显示全部楼层
    代码还是一样的代码,就是没做发送完成的处理,现在还有问题,手动用串口助手可以正常收发,但是高速模式下最后一位会出错。暂时分析的原因可能是我的速度太快,导致数据没发送完整,因为我是60us一次指令。现在的问题是从串口接收到数据,进入串口接收中断, 然后DMA发送数据,DMA的启动时间太长,达到了9us,我无法将这个时间缩短。
    qiandao qiandao
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-25 09:20 , Processed in 0.094911 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表