Part Number:CC1101
433MHz,可变包长的发送与接收,目前能收能发,但有些问题。
相关设置如下:
IOCFG0设为0x06,即发送完毕会触发中断,收到包完毕也会触发中断。
遇到问题:
发送与接收确实会触发中断,如果是发送,中断触发后发现状态机的状态是TX,然后变为IDLE或TXFIFO_UNDERFLOW;如果是接收,中断出发后发现状态机状态是RX,然后变为IDLE或RXFIFO_OVERFLOW。
按照我的理解,接收完成状态应该是RX_END,发送完成应该是TX_END。
关于IOCFG0,也尝试过其它设置,但中断触发后,状态机的状态都类似。
想问的问题是:如何判断发送或接收已完成?
alex chen:
就问题的影响,发送还好点,只是状态机在中断触发后状态不对,但数据包能正确发送出去;接收还没找到很好的方法,中断出发后状态还是RX,直接读RXFIFO,有时数据不对,推测数据接收其实未完成,此时只能不停查询状态机状态,等到为IDLE,此时数据是正确的,但很容易造成看门狗超时,在查询状态期间,喂狗也不好使。当然,看门狗与CC1101本身没关系。
所以当前我的处理方法算walkaround,但没有从根本上解决问题。迫切需要找到如何判断已完成的方法。
,
Alice:
您好, 已经收到了您的案例,调查需要些时间,感谢您的耐心等待。
,
Daniel:
您好
https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1059110/cc1101-receive-data-sometimes-good-sometimes-bad
请您参考这个帖子对于这个部分的相关处理。
TI中文支持网

