完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1.程序利用定时器3每隔1S转成发送模式发送一次数据,发送完之后转回接收模式。2.可是程序却在定时器中断服务函数调用NRF24L01_TxPacket()时死在while(NRF24L01_IRQ!=0);发送数据之后并没有引发中断(没有屏蔽任何中断)。
3.最奇怪的是,用Jlink单步执行的时候,程序是正常的,不会卡在while(NRF24L01_IRQ!=0);,一旦程序全速运行就卡在这里不动了。 发送前状态寄存器的值是0x0E,发送后还是0x0E,并没有产生发送完成中断标志哦,所以程序死在了while(NRF24L01_IRQ!=0); 可是在Jlink单步运行的时候,程序是正常的,不会死在这里。 这是怎么回事啊~~~求教各位大神~~~~~@原子哥~~~~~ |
|
相关推荐
4个回答
|
|
谢谢原子哥,已经自己解决了。上面的问题语句好像是在定时器中断函数里才会出现。把这些代码从中断函数移到主循环中就没问题了。这让我想起以前在书上看过的一些知识:尽量少在中断函数里做出操作,如果是裸机,中断函数只给出某种标志位,真正的操作在主循环完成;如果是在操作系统上,中断函数只给出某种信号来激活一个任务,真正的操作在被激活的任务中完成。这样可以避免一些莫名其妙的问题。
|
|
|
|
|
|
楼主,原子哥求解,为什么程序卡死在while循环里面,也就是说中断引脚没有拉低@发烧友
|
|
|
|
中断需要参数设置的哦 原子哥们只专业STM32 无线你们得找我交流,呵呵
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2569 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2365 浏览 5 评论
3210 浏览 3 评论
2837 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2789 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
668浏览 1评论
905浏览 0评论
1026浏览 0评论
671浏览 0评论
499浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 10:35 , Processed in 1.199761 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号