查看: 599|回复: 3|关注: 0

[已解决] Matlab 串口通信 只能获取到4096个字节

[复制链接]

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
InputBufferSize 设置成1M大小,当发送端一次发送的数据超过4096个字节时,只能收到4096个字节(BytesAvailable=4096),剩下的数据截断丢失了,这是为什么?

    mSerial = serial(port, 'BaudRate', 256000);
    mSerial.InputBufferSize  = 1024000;
    mSerial.Timeout = 0.1;
    mSerial.BytesAvailableFcnMode = 'byte'; % 设置读入文件的格式为二进制。
    mSerial.BytesAvailableFcnCount = 1;
    mSerial.BytesAvailableFcn = {@OnDataReceive, handles};

回复主题 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

入门

219 麦片

财富积分


50500


3

主题

291

帖子

45

最佳答案
  • 关注者: 14
发表于 2019-10-9 21:44:31 | 显示全部楼层 |此回复为最佳答案
我记得BUffer最大只能是4096吧。
回复此楼 已获打赏: 0 积分

举报

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2019-11-19 17:08:21 | 显示全部楼层
Leedear 发表于 2019-10-9 21:44
我记得BUffer最大只能是4096吧。

想是哪里设置的不对或是系统的原因,matlab文档里面也没看到对 seirial.InputBufferSize 这个参数有限制。
在VisualStudio里面串口接收是可以的
回复此楼 已获打赏: 0 积分

举报

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2019-11-19 17:17:00 | 显示全部楼层
Leedear 发表于 2019-10-9 21:44
我记得BUffer最大只能是4096吧。

目前只能先这样了,让串口发的时候一次发送不要超过4096字节
回复此楼 已获打赏: 0 积分

举报

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

本版积分规则

关闭

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

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