This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1125无限包长模式下对于PKT_LEN寄存器数值的问题

Other Parts Discussed in Thread: CC1125

根据文档及源码,PKT_LEN寄存器的值为mod(600, 256),源码里规定的包长为500+2字节的长度,即 PKT_LEN = mod(500+2,256) = 246。这里这个数值为什么这么计算?实际源码测试的结果是,每次填充122个字节,最后进入固定长模式时接收的字节数应为   502-128-122-122= 130  再加上剩余的6字节  ,PKT_LEN = 130+6 =136才对。请问下这个PKT_LEN的值为mod 256的原理是什么?

  • PKT_LEN 最大值 0XFF,因此允许的最大packet length是 256个字节
  • 但是 从无限长模式 变成固定长模式之后,这种算出来的PTK_LEN值,应该不等于固定长模式接收的值吧,所以官网源码的这个地方是不是存在问题,还是我哪里理解错了,请指点一下
  • 请详细参考这张图,并理解他的意思。CC1125内部是有一个数据counter的,它自动停止接收也是根据这个counter的内容的。在无限长度的模式下,你需要自己设置一个计算接收数据长度的变量,在确定什么时候停止接收的时候,把剩余确定的接收数量在变成固定长模式之后,写到PKT_LEN这个寄存器中,这样CC1125才会正确地自动停止接收。