还是分成定长的数据包吧,数据包定义一个字节的头,一个字节命令码,一个字节的长度,之后为长度字节所指定长度的数据,最后为一个或两个字节的校验码(简单的可用累加和校验或异或和校验,复杂的就用CRC吧)。中断程序中判断头以及命令码后再接收的就是长度了,然后根据这个长度再接收长度加1或2个字节的数据就完成本包的接收了。接收一个数据之后最好PC机一个应答数据包,PC收到这个应答数据包后在传送下一个包直到结束。
本人在IAP中更新的程序就是这样处理的。当然数据包中也可定义一个第N包的数据,则应答时也应答是第N包。在此仅为抛砖引玉,你也可以发挥。
发表时间:2004年7月15日15:28:28