cc1101使用Asynchronous Serial Mode通信,接收端像使用GDO0作为载波检查中断输入口,GDO2作为数据输入口。
这样只要检测到载波有中断进来就接收数据。请问GDO0_CFG设置为9 (0x09) CCA模式,还是设置成14 (0x0E) Carrier sensor模式?
这两种模式有什么区别?
它们分别用于哪种场景应用?
感谢。
Viki Shi:
CCA: Clear Channel Assessment
Carrier sensor:无限载波模式
建议网上查一下两者的区别,比我讲得好:)至于异步串行模式,请参考这个文档【CC1101也是类似原理】:www.ti.com/…/swra316a.pdf
user6137192:
回复 Viki Shi:
您好,
目前们可以异步串口模式接收。当有数据来时,从GDO0有高电平输出,数据传输结束,GDO0已低电平结束。从GDO2上可以看到接收到的数据。
然后我打算将GDO0设置为外部中断,方便实时来处理接收数据。结果设置好GDO0的中断后,GDO0一直输出的是135kHz的矩形波,也可以不断的进入中断。
不知道咋回事?求请教,谢谢。这个135khz的矩形波从和而来?
Viki Shi:
回复 user6137192:
"GDO0一直输出的是135kHz的矩形波"—-没碰到过。官方发布过CC430的异步通信例程,CC430的RF内核也是CC1101,参考一下代码试试:
www.ti.com/…/slaa465c.pdf
user6137192:
回复 Viki Shi:
您好,
您分享的例程里面,异步接收使用的while循环来处理的,比较简单。如何改成中断的方式,有了空中包就产生中断然后处理数据?
Viki Shi:
回复 user6137192:
有一个GDO0做中断的例程,看这里:www.ti.com/…/swrc021
异步+中断结合用的代码需要自行实现了
user6137192:
回复 Viki Shi:
您好,
您说的这个例子是用FIFO模式装载数据传输模式,而且传输数据大于FIFO整个空间的情况下使用GDO0做中断源。
// GDO0 signal selection = ( 6) Asserts when sync word has been sent / received, and de-asserts at the end of the packet// GDO2 signal selection = (41) CHIP_RDY
0x29, // IOCFG2 GDO2 output pin configuration. 0x06, // IOCFG0D GDO0 output pin configuration.
我的基本问题是异步+中断,此中断源GDO0改设置成哪种模式最合适?GDO0_CFG[5:0]设置哪个值比较好?
谢谢。