我用API函数通过串口实现文字和文件的传输,协议是确定好的。我用个线程专门读取串口中的数据,发送没有用线程。但是我想知道,如果我发送一个很小的文本文件,我怎么样将该文件处理后传输呢;我要发送一段文字,又怎么样进行处理,比如我发送文字信息:“你好!”。协议的格式全部是十六进制。

解决方案 »

  1.   

    串口还是有一定的误码率的,所以,对于传输的信息,最好还是有检验和重发机制
    所以,对于字符串和文件的传输,最好还是有相关的协议另外,对于字符串和文件传输,如果没有协议,则接收端无法获知字符串的长度和文件的大小,从而不知何时传输结束传输协议最基本的形式如下:
    STX 内容 检验码 EDX
    STX 为帖开始字符, EDX 为帧结束字符 检验码可以采用CRC之类的
    内容和检验码中, 如果出现 STX 和EDX 字符,则必须有代替方案