vb 串口接收 文件 保存
需求 接收下位机发送的数据(不会间断) PC端收取 并保存到文件至128MB(不用考虑数据丢失问题,数据本身是随机数)
问题 可以接收到数据 但是达不到要求的大小 程序就没反应了 调试时却可以进入oncomm事件
想问 需要怎么样设置接收缓冲区及输出缓冲区的大小,以及每次输出字符个数,还有引发oncomm事件的字节数
我的设置是接收缓冲区512 输出缓冲区256 每次输出128 触发事件64/32/16/8都试过 数值有问题吗? 需要把缓冲区再设大一点么? 缓冲区可以每次清空么? 我设置清空之后 就一直收不到数据了
另 追加存入到文件使用的是open xx文件as#1 seek#1 lof(1)+1 put #1,,buf (实验下来 这个步骤没有问题,最大存到2GB) 但是效率上有没有更高的方法?
[解决办法]
有许多种可能引起错误,无法猜。
[解决办法]
建议LZ尽量使用MSComm控件的缺省属性设置,例:
InBufferSize 属性,InBufferSize 是指整个接收缓冲区的大小。缺省值是 1024 字节。
OutBufferSize 属性,OutBufferSize 指整个传输缓冲区的大小:缺省值是 512 字节。
这是基于现在的电脑内存与DOS下的内存4096KB相比是大大增加了.
InputLen 属性,InputLen 属性的缺省值是 0。设置 InputLen 为 0 时,使用 Input 将使 MSComm 控件读取接收缓冲区中全部的内容。
此外LZ你的COM口如果是USB转RS232口的话,较容易出现COM口假死现象.
[解决办法]