CC1100/CC1100E/CC1101 大数据包接收流程(小于 255)
以数据包长度为 150 为例
一、 FIFO_THR = 14;
具体意义见 FIFOTHR 的具体说明;
二、 IOCFG2 = 0x00;
当达到或者超出 RXFIFO 阀值后再填充 RXFIFO 时置位,当 RXFIFO 刷新
至相同阀值以下时取消置位;(GDO2 上升沿触发中断);
三、 IOCFG0 = 0x06;
接收同步字时置位,并在数据包末尾取消置位;( GDO0 上升沿触发中
断);
四、 接收到同步字时触发 GDO0 中断;
等待接收两个字节的时间;
读取数据包长度;
剩余的数据个数 = 150(数据包长度)+2 =152;(其中后加的 2 是附加在
数据包尾部的两个状态字节)
将 GDO0 改为下降沿触发中断(当发送到数据包尾的时候将触发中断)
五、 当 RXFIFO 中 的 数 据 大 于 59 时 ( 60 个 ) , 触 发 GDO2 中 断 , 从
RXFIFO 中读出 59 个字节;
剩余数据个数 = 152 – 59 =93;
六、 当 RXFIFO 中 的 数 据 大 于 59 时 ( 60 个 ) , 触 发 GDO2 中 断 , 从
RXFIFO 中读出 59 个字节;
剩余数据个数 = 93 – 59 =34;
七、当接收到数据包尾时,触发 GDO0 中断,表示数据已经结婚搜完毕,读出
剩余的 34 个字节。
- 1
- 2
前往页