C#串口总结的几个疑惑 5

最近通过串口通信控件来学习C#,学完了后,发现自己对好多方面比较迷惑,还请知道的给与解答:1、write或者writeLine发送内容,是一下发送完,还是根据其write... 最近通过串口通信控件来学习C#,学完了后,发现自己对好多方面比较迷惑,还请知道的给与解答:
1、write或者writeLine发送内容,是一下发送完,还是根据其writeBuffersize大小发送
2、如果根据writebuffersize大小发送,那么如果超出部分是自动下次发送,还是就丢弃
3、同理ByteToRead是读取缓冲区中字节大小,而ReadBufferSize是缓冲区大小,如果发送来的字节过多(比如一篇超长文章),那么是只读取一次,读取完了再读后面的内容;还是读取一次之后(最多是缓冲区大小),然后后面的就丢弃不读取了。
4、有没有什么办法可以将发送文件拆开成固定大小,然后等发送接收完了,返回一个应答,再接着发送呢
展开
 我来答
cjj796
推荐于2018-04-13 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3466万
展开全部
1、会根据WriteBufferSize的大小,自动分段发送,不会丢弃数据;
2、会根据ReadBufferSize的大小,自动分段读取,不会丢弃数据;
你怀疑的读取和发送过程中的溢出的情况,跟串口驱动分配的缓冲大小有关;
应该还跟系统内存大小有关,C# 对溢出的处理已经做了封装,我们只管使用吧

3、大文件的拆分发送,这个根据你自己的情况,对文件做分割,比如分割成4K大小;
发送端一次性发送完4k,接收端开始接收数据并统计字节,接收到4k的时候,接收端

发送接收4K结束的指令到发送端,发送端开始发送第二段数据,如此循环。
追问

我写的拆分,但是不行,也不知道怎么拆分了,能不能给个代码提示,我的是这样

后来我想改成下面这样的,但是拆分写着写着不知道怎么实现了

匿名用户
2013-09-15
展开全部
1:根据缓冲区大小分成几块 没有发完会一直发送的
2:同上
3:读取跟发送是一个道理的
4:你说的那个叫协议 可以自定义 也可以用现成的一些工业传输协议的

1,2,3 的内容不知道你有没有接触过单片机或者类似短信猫的东西 短信猫为例
串口助手作为发送端 串口助手在敲完命令以后 需要在后面加上 十六进制的 0x1A(不同猫可能不一样) 这意思是告诉猫 指令发送完毕 你执行 同理 在1,2,3里面虽然你没有明确的给一个结束的符号 但是你在初始串口的时候不是有一个 停止位什么的吗 那就是系统默认的串口设置 具体也不好解释 只能查询uart设计原理了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式