日期:2014-05-18  浏览次数:20919 次

C#下 如何用串口发送文件!!并且接受
要写个程序.用串口发送文件

但是..在下才疏学浅...无法写这个.

请各位有识之士能否告知在下一二.

------解决方案--------------------
基本的实现逻辑就是:发送时将文件转化为字节数组,写入串口;接收时读取串口,将读取的字节数组写文件。涉及串口的读写操作、发送和接收时你自己约定的规则,也就是协议、还有就是文件的校验等。
------解决方案--------------------
也没数据发送格式吗?如果可以,最好按接收方可以接收的最大字节数来发。发送时可以先从文件中读数据,转为char[],发送就可以了吧!接收,只不过是一个反过程,要解析自己想要的数据。
------解决方案--------------------
我有之前串口项目的源码?
------解决方案--------------------
学习,期待大神!
------解决方案--------------------
1 首先你要知道串口通讯是如何传输的,你可以先尝试下发送几个字节的发送和接收

2 至于文件,你会收发几个字节后,把文件转化为字节后传送就可以了

3 文件传输设计多字节传输,你要制定自己的通讯报文协议

例如: EB为报头 97为报尾 中间加两个字节的长度位,一个字节校验位,这个就是简单的通讯协议

传输报文就是: EB +长度字节(1)+长度字节(2) + 你的自己数据 + 校验位 + 97
  
这样你就可以知道你发送的时候,串口有没有把数据丢失,校验方法有多种,可以从长度自己开始求算术或者异或和,一直计算到校验位的前一位,校验位就是你前面的计算结果,接受的时候,也计算,如果校验为不一致,就是错误报文,要重发或者丢失什么的



------解决方案--------------------
刚开始串口通讯C# serialport的控件可以满足你的要求,不需要你写更多代码

如果你熟悉后再自己扩展和其它方法也可以