嵌入式技术论坛
直播中

河神大人

8年用户 1509经验值
擅长:电源/新能源
私信 关注
[问答]

Ymodem传输文件出来的数据是乱码是哪里的问题

看到release更新了通过ymodem传输文件,今天尝试了一下,发现存在一些问题,使用ry命令和Xshell 传输文件

表现就是,例如5字节的数据,传输之后变成128字节;621字节的变成640字节,多出来的数据是乱码

追踪源码之后,发现应该是程序里用到了文件大小,但终端发送的数据包里没有文件大小数据,不知道是终端还是哪里的问题,暂时也没想到有啥好的解决办法

回帖(1)

最强海贼王

2022-7-22 10:05:53
xshell的ymodem发送数据中有文件大小数据,仔细对比iot board例程22和ry_sy.c,问题在

cctx->flen = atoi((const char *)buf + rt_strnlen((const char *)buf, len - 1));
这一行,文件名后面有一个’’,应该指向后面一个字节的,改为

cctx->flen = atoi(1 + (const char *)buf + rt_strnlen((const char *)buf, len - 1));
举报

更多回帖

发帖
×
20
完善资料,
赚取积分