TinyOS串口数据包解析

本文介绍了TinyOS中用于节点与PC机通信的串口协议。该协议采用同步字节0x7e作为数据包开始标志,并定义了四种数据包类型,包括普通数据包、应答请求数据包等。此外,还详细描述了数据包格式及其各字段含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    TinyOS中的串口协议是这样规定节点和PC机通信时双方通过同步自己来交换数据,也就是节点或者PC机在每次发送数据给对方时都会先发送一个同步字节0x7e,紧跟同步字节之后的就是数据包。而数据包也有特定的格式:

     1. 数据包的第1个字节是数据包的类型,目前有4种类型分别是 :

      P_PACKET_NO_ACK= 69,这种类型是普通数据包不需要接收方不需要应答。
      P_PACKET_ACK= 68,这种类型的数据包要求应答,接收方在接收到数据包之后需要发送 一 个 P_ACK类型的数据包做应答。
      P_ACK= 67,这种类型的数据包作为P_PACKET_ACK类型数据包的应答包。
      P_UNKNOWN= 255,不确定消息包的类型,当收到此类型的数据包时需要接收方同种类型的数据包给发送者。

    2. 数据包的第二个字节指明了这个消息包的类型。如果是00则指明是AM类型的数据包。

    3.第3和第4个字节是目标节点的地址。

        4.第5和第6个字节是链路层源地址。

    5.第7个字节是消息长度。

    6.第8个字节是网络组号。

    7.第9个字节是AM类型。

    8.第12,、13、14、15字节是消息包的有效载荷。

       9.最后两个字节是CRC校验码。

值得注意的是当接收到0x7e或者0x7d时需要对其进行转义,把它们和0x20进行异或。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值