关于cc1101中断接收死机问题

2019-07-18 14:24发布

最近在用cc1101做无线传输,可是如果使用轮询法接收,都挺正常的。但是使用外部中断,GPO0来进行触发接收的话,把halRFReceivePacket函数放到终端中,就会死机,死在“while(MISO);”上面。不知道这是为什么。查看cc1101手册上说 CSN拉低MISO会立即被拉低,除非CC1101进入SLEEP或者OXFF状态,可是我发送方每次只发送5字节数据。数据量很小了,不知道为什么会死机,让我很困扰,一直在调试。不知道有没有前辈能指教下,万分感谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
zhang_forever
2019-07-19 01:52
我觉的你那个不应该是while(MISO)应该是while(GDO0)。 因为当GDO0配置成0x06的时候,GPO0默认输出是高电平,当接收到同步字的时候就转换为低电平了,当接收完数据后又转换成高电平了。
我也不是很懂,大概就知道些,对不对你再看看手册吧。
我的接收函数就是
CC1101SetTRMode( RX_MODE );
                while(GDO0);
                while(!GDO0);
等这段程序执行完成后,FIFO里面就是接收到的数据了,你再用MCU通过SPI读出数据就行了。

一周热门 更多>