查看: 7973|回复: 12

[求助] 多个串口同时进行收发数据,会出现丢包情况

[复制链接]

该用户从未签到

51

主题

307

帖子

0

高级会员

Rank: 4

积分
651
最后登录
2020-9-4
发表于 2015-12-21 09:21:56 | 显示全部楼层 |阅读模式
各位:

我使用的是K64系列的芯片,采用的是官网的mqx4.1操作系统.使用两个串口进行互相发送与接收是没有问题.如果我使用全部的串口(6个)两两进行互相发送与接收时,会出现丢包现象.大约为2~3%.是mqx中底层没有设置好,还是...?

哪位大侠帮忙解答一下!


我知道答案 目前已有12人回答
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-12-21 09:37:57 | 显示全部楼层
    看下是发送丢,还是接收丢? blank.png blank1.png blank2.png blank3.png blank4.png blank5.png blank6.png blank7.png blank8.png blank9.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2015-12-21 10:18:51 | 显示全部楼层
    这个应该和程序设置有关系,如果中断处理时间过长,可能会影响其它串口的发送或接收吧
    好像只有串口0和串口1的缓冲区比较大些,其它的串口只有一字节的缓冲区,如果不及时处理,很有可能会造成数据丢失吧
    或者将串口0和串口1设低中断优先级,其它串口高优先级,因为串口0和串口1中断缓冲区比较大,几个字节的没有及时读取应该也不会造成数据丢失
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-12-21 10:31:37 | 显示全部楼层
    波特率调高些,发送间隔尽量控制在波特率的范围内。缓冲区的大小要注意。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    51

    主题

    307

    帖子

    0

    高级会员

    Rank: 4

    积分
    651
    最后登录
    2020-9-4
     楼主| 发表于 2015-12-21 17:27:05 | 显示全部楼层

    波特率设为115200;每包数据长度为10个数据;用mqx系统中的中断方式处理发送与接收,接收buf长度为64;但还是出现接收丢包现象;
    跟mqx系统中,频繁开关中断有关系吗?

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    51

    主题

    307

    帖子

    0

    高级会员

    Rank: 4

    积分
    651
    最后登录
    2020-9-4
     楼主| 发表于 2015-12-21 17:35:37 | 显示全部楼层
    nothingness 发表于 2015-12-21 10:18
    这个应该和程序设置有关系,如果中断处理时间过长,可能会影响其它串口的发送或接收吧
    好像只有串口0和串口 ...

    波特率设为115200;每包数据长度为10个数据;用mqx系统中的中断方式处理发送与接收,接收buf长度为64;但还是出现接收丢包现象;
    跟mqx系统中,频繁开关中断有关系吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    51

    主题

    307

    帖子

    0

    高级会员

    Rank: 4

    积分
    651
    最后登录
    2020-9-4
     楼主| 发表于 2015-12-21 17:35:54 | 显示全部楼层
    安 发表于 2015-12-21 10:31
    波特率调高些,发送间隔尽量控制在波特率的范围内。缓冲区的大小要注意。 ...

    波特率设为115200;每包数据长度为10个数据;用mqx系统中的中断方式处理发送与接收,接收buf长度为64;但还是出现接收丢包现象;
    跟mqx系统中,频繁开关中断有关系吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-12-23 15:34:31 | 显示全部楼层
    楼主看一下是否产生过溢出。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    51

    主题

    307

    帖子

    0

    高级会员

    Rank: 4

    积分
    651
    最后登录
    2020-9-4
     楼主| 发表于 2015-12-24 14:08:38 | 显示全部楼层
    安 发表于 2015-12-23 15:34
    楼主看一下是否产生过溢出。

    没有,mqx系统中各串口缓存为64字节,我只发送32字节/每次;我现在不能确定是否跟硬件有关还是mqx系统中对串口操作频繁开关中断有关.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    51

    主题

    307

    帖子

    0

    高级会员

    Rank: 4

    积分
    651
    最后登录
    2020-9-4
     楼主| 发表于 2015-12-31 09:15:37 | 显示全部楼层
    安 发表于 2015-12-23 15:34
    楼主看一下是否产生过溢出。

    自顶一下,楼主能否给出合理建议
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-23 04:52 , Processed in 0.103133 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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