stc-isp-v6.92H 测试
第一时间升级了stc-isp-v6.92H,串口助手接收自动滚动到底部可以设置开关了,测试好用还有包间隔和应答发送也是之前想要的功能,可以用STC-ISP写SPI-FLASH了,比如先擦除一个扇区再通知STC-ISP发送数据写入,可以由单片机控制发送速度
但在测试文件发送时遇到bug
想重复一下之前频繁崩溃的测试:10M波特率发送大文件的暴力测试
一箭双雕,固件使用STC-ISP的制作USB-2UART控制芯片,CDC1接CDC2
发个STC-ISP试试,之前试过重命名为.bin,收到后保存为.bin再改回去就和原文件一致了
连续发送,无延时
文件太大了,很耗时间,但还是在发了一会后崩了
不过这不算bug,毕竟这是过于暴力的测试
查看端点最大包长是64字节
发64字节延时1ms试试
发到这里卡住了,串口掉了,单片机进入HID下载模式了,估计是复位了
因为太耗时间,换个小点的文件试试,前两天的开源UAC的压缩包
小文件就很快,也不会崩了
但是接收的大小不一致
为了验证文件是怎么传的,新建文本文档,重命名为.bin
但是不让点发送数据,估计是因为文件太小不够一个包
(这个能不能有多少算多少不够一个包也直接发出来呀{:4_186:})
写点内容可以发了
对比一致
但是点保存接收数据,点bin,保存出来的不是bin,是ASCII(应为bin)
保存为txt也一致(应不一致,为ASCII),这两个好像反了
然后保存为zip
打不开
重命名为.bin发现乱码了(0开头的都变成2E了,不知道为什么),缓冲区显示正确,保存后不正确
使用自动接收到文件
正确
我知道了,2E是无法显示的字符,用 . 表示了
保存类型txt是接收缓冲区文本模式的ASCII
保存类型bin是接收缓冲区HEX模式的ASCII
保存类型All File也是接收缓冲区HEX模式的ASCII
这些内容的本质都是ASCII,不应以扩展名来区分
保存为txt时,建议根据
的勾选情况,生成“文件名_文本模式.txt”和“文件名_HEX模式.txt”两个文件,记事本打开看与缓冲区一致,本质上是ASCII的文件
保存为“*.bin”时,直接保存二进制内容,不要转换为ASCII,并自动添加扩展名bin
保存为All File时,直接保存二进制内容,不要转换为ASCII,不要添加扩展名,便于直接输入扩展名,比如保存为All File,输入123.exe,就保存为123.exe(现在是不输入扩展名默认保存为txt)
收到,感谢反馈,我们再测试下您的步骤回复您
楼主测试真详细{:4_174:} 首先非常感谢您的测试和反馈!
关于您反馈的大文件会崩溃的问题,我们这边暂时没有测试到
但使用您测试的文件就会出现复位到ISP而导致通讯中断
您测试的文件应该是我们的下载软件的EXE直接改了一下扩展名为bin吧
我们的ISP下载软件里面有包含“@STCISP#”的字符串,如下图
一箭双雕工具在进行串口数据传输时会实时侦测“@STCISP#”下载命令
一旦监测到有正确的命令序列,就会自动复位到ISP
从而会导致串口设备断线,进而产生设备没有发挥作用的错误弹窗
CyberHamster 发表于 2023-12-5 01:27
我知道了,2E是无法显示的字符,用 . 表示了
另外,关于保存串口接收数据的问题
之前版本是无论选择的是文本文件还是bin文件
都是保存原始接收的数据
但有客户需求:接收的是二进制数据,但需要用文本方式查看
功能就修改成了现在这样,如果是不可显示的二进制数据,则会用“.”替换
最后,对您的支持再次表示感谢! 本帖最后由 zhp 于 2023-12-5 10:47 编辑
这里无法发送数据不是由于数据不够一个包的大小
以为软件中没有这样的限制
主要原因是由于文件的大小为0字节,如下图
0字节表示没有数据,所有不能发送
或许是由于您第一次打开“E:\0.bin”时是空文件
当使用其他编辑器编辑“E:\0.bin”后没有重新打开的缘故
您测试时可以重新打开,或者将文件拖放到这个界面也可自动重新打开
最后还有一点需要说明,发送数据时会保证每包是数据量都和包大小一致,
如果最后一包数据量不足时,会使用0进行填充
zhp 发表于 2023-12-5 10:13
首先非常感谢您的测试和反馈!
关于您反馈的大文件会崩溃的问题,我们这边暂时没有测试到
原来如此{:4_202:} zhp 发表于 2023-12-5 10:25
这里无法发送数据不是由于数据不够一个包的大小
以为软件中没有这样的限制
主要原因是由于文件的大小为0字 ...
是0字节,我傻了emmmmmm
如果希望无填充是不是包大小设置为1就可以了?
希望保留:接收到缓冲区后直接保存为二进制原始文件的选项(不是实时写入到文件),谢谢
如果传输的文件带有“@STCISP#”字符串,如何才能正确传输?(加一个所有数据传送前按位取反,传送后再还原,这样可行吗)
原则上来讲,文件扩展名应与文件内容格式一致,所以建议保存为txt格式就是文本(串口接收缓冲区的HEX模式和文本模式的文本,建议再加个选项加以区分,如:保存文本模式、保存HEX模式),而保存为bin格式或All File时再保存为原始二进制数据(保存接收数据) CyberHamster 发表于 2023-12-7 23:13
是0字节,我傻了emmmmmm
如果希望无填充是不是包大小设置为1就可以了?
传输的文件带有“@STCISP#”字符串问题,干脆整个加密传输得了{:4_226:},像给单片机加密下载一样,先生成个随机密钥,然后加密,把密钥用串口传过去,接收端加载密钥,接收文件的时候再还原,怎么样{:4_226:}
页:
[1]