完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在弄一个移动小车,用NRF24L01无线通信模块进行控制。想创建两种模式,一种是自动运行的模式,还有就是手动运行的模式。然而在手动模式和自动运行模式之间切换就出现问题了,发现切换的时候响应不顺畅,原因是此时程序可能还在执行其他相应的动作。要按很多下才能读到按键发送的消息,请问有没有什么方法可以让该无线通信发送的消息优先响应的。 在网上查找貌似IRQ中断可以,但是不知道该怎么设置,麻烦谁要是知道的帮忙解决下!!谢谢
|
|
相关推荐
12个回答
|
|
你又没有考虑过当你的遥控器按下的时候,nrf已经发了n个数据包过去了,小车全接收了,然后小车在自动和手动模式之间反复切换
|
|
|
|
我把NRF的中断改成下面这段代码:发现程序一运行马上就进去中断了,而且出不来,不知道是什么原因:
void EXTI9_5_IRQHandler(void) { u8 t; for(t=0;t<20;t++) { delay_ms(1000); LED0=!LED0; } EXTI->R=1<<5; } //外部中断初始化程序 void EXTIX_Init(void) { RCC->APB2ENR|=1<<4; GPIOC->CRL&=0XFF0FFFFF;// C5输出 GPIOC->CRL|=0X00800000; //上拉/下拉输入模式 GPIOC->ODR|=1<<5; //PC5默认上拉 Ex_NVIC_Config(GPIO_C,5,FTIR); //由上升沿改为下降沿沿触发 MY_NVIC_Init(2,1,EXTI9_5_IRQChannel,2);//抢占2,子优先级1,组2 } |
|
|
|
没有清除中断标志位.
|
|
|
|
EXTI->R=1<<5; //这个应该就是清除中断标志位了,今天发现原因原来是程序中的if(NRF24L01_RxPacket(tmp_buf)==0)一直会给PC5高低电平的脉冲,所以一直触发它进中断,请问原子哥这种问题有没有办法解决!! |
|
|
|
|
|
|
|
我们没用到中断接收.
|
|
|
|
那请问原子哥 那个如果要设置中断接收该怎么修改!!这问题调试了好久都没办法解决,看了NRF24L01的中文资料貌似你的程序里面都已经 把中断打开了,但是在接收端还是一直输出低电平!! |
|
|
|
NRF24L01我也都是查询的方式做的,要用中断,应该先设置NRF寄存器,之后设置STM32的外部中断,两者都正确的条件下,才可以实现.
另外,中断也是在有中断事件的时候,才产生的,没有中断事件的条件下,是不会有中断信号发送出来的. |
|
|
|
嗯 我是打算让接收端收到数据信号就用IRQ产生中断,把接收部分的代码写在中断部分进行。这样子就应该不会出现按键通信时候响应不顺畅的情况!!对了 设置NRF寄存器我看过相关资料,感觉在CONFIG寄存器那边已经使能中断了,这样子是不是就可以了呀?? |
|
|
|
我倒是做好了中断响应,不过貌似很不稳定,会死机
|
|
|
|
我觉得,加入小车正在发射包,你中断进去了,这时2401还在发射模式,是接不到你的数据的,就会死机
|
|
|
|
怎么没有用中断接收,是不是因为中断接收有问题才没有用的???
我现在也在做一个2401,一样是发送正常(开不开中断都正常),开着中断,接收就不行 我把例程改成中断接收也不行!总是无法进入中断,为什额??? |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2549 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2333 浏览 5 评论
3165 浏览 3 评论
2806 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2765 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
612浏览 1评论
859浏览 0评论
974浏览 0评论
626浏览 0评论
453浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 16:26 , Processed in 1.699970 second(s), Total 100, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号