串口通信协议
波特率:230400bps
230400 (bit/s) = 23040 (Byte/s)= (23040/1024)kb/s=22.5 (kb/s)
传输1MByte时间大约为45.51s
一张极坐标图片数320*3*1200(Byte)=1152000(Byte) 根据以上速度得到传输一张图的时间为:1152000/23040=50s
分50包发送,每包数据23040 Byte
控制字简介 源端:
文件传输起始帧:起始控制字+文件标号+包数量+CRC
EE 01 32 CRC//文件1 分50个包发送
数据帧:传输控制字 + XX(第xx个数据帧) + 帧长度(高8)+帧长度(低8)+数据(N*8)+CRC EC XX Num_H Num_L DATA1 DATA2 … DATAn + CRC
结束帧:结束控制字 +下一文件标号(如果没有了,则为00) +包数量(无,同样为00)+ CRC EA 00 00 CRC
目的端:
文件头正确,准备接收: 控制字+文件标号 + FF + CRC
EC 01 FF CRC
文件头错误: 错误控制字+文件标号 + FF + CRC
数据帧接收正确:继续传输控制字 + 文件标号 + 已收到的数据帧个数xx + CRC CC 01 xx CRC
数据帧接收错误:错误传输控制字 + 文件标号 + 已收到的数据帧个数xx + CRC 收到结束帧:(继续接收)或(中断接收)控制字+文件标号+FF+CRC
继续接收下一帧
EC 02 FF CRC
中断接收下一帧,直接开始显示图片
CA 02 FF CRC
数据正常发送流程图:
源 目的端
开机 等待接收数据
文件传输起始帧 接收并计算计算校验
返回文件标号+已收到第xx帧数据
数据帧 接收并计算计算校验
返回文件标号+已收到第xx帧数据
……
……
……
结束帧 接收完成,开始显示图片
异常处理:返回
超时处理:
目的端 长时间无返回,源端将询问(E1 FF FF CRC)收到的文件标号+第x帧 目的端 返回:同数据接收正确帧