标题:
请问,你们的使用NRF24L01无线模块要接收数据时,是在主循环里一直在工作吗?
[打印本页]
作者:
JF.y
时间:
2020-4-22 23:28
标题:
请问,你们的使用NRF24L01无线模块要接收数据时,是在主循环里一直在工作吗?
请问一下各位,你们在使用NRF24L01无线模块的时候,“接收”程序,你们是放在“主函数”的循环里一直在工作的吗?
能不能让这个无线模块不要一直工作,属于待机状态,但是又能及时唤醒接收其他模块发来的数据信号?这样应该怎么来实现。
我想实现低功耗,这个模块只在发送时工作,发送完就待机休眠,如果休眠状态下,有其他人发来数据,就接收完执行完指令后,如果没任务了,又继续休眠。
如何实现。这个能实现的了吗?
作者:
小黑屋525
时间:
2020-4-23 07:57
将IRQ引脚连接到MCU外部中断,程序里面设置使能NRF的IRQ引脚,这样子就可以在中断里面读取接收到的数据了,记住一点就是接受完以后必须将该引脚置位;
作者:
wo4fisher
时间:
2020-4-23 10:04
发送如果是间隔同样的时间,可以使用定时器定时中断唤醒单片机。而接收的话,楼上的办法可以,或者使用相对应的硬件接收中断去唤醒单片机。
作者:
f556
时间:
2020-4-23 10:58
完全能实现低功耗,用中断解决。
作者:
WCW10608
时间:
2021-1-8 10:53
f556 发表于 2020-4-23 10:58
完全能实现低功耗,用中断解决。
怎么可能?楼主的意思是在接收的时候进入低功耗。NRF2401低功耗状态下是收不到数据的。
作者:
glinfei
时间:
2021-1-8 11:36
一是,考虑它降低功耗意义不大,它工作只有10几个毫安;二是,发完休眠是可以做到,但休眠或掉电状态没法接收其他人数据,采取额外连接再激活更费电。三是,如果没有其他要求,放在主函数循环也可以的,反正没人看你程序。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1