发 帖  
原厂入驻New
[问答] 关于nrf24l01通信问题如何解决
135 STM32
分享
我用51和mini STM32通信,为啥通信不了,地址频道啥的都一样了,调了一天了
0
2020-6-2 22:58:22   评论 分享淘帖 邀请回答
29个回答
51的模拟spi驱动没写好?
2020-6-3 07:06:50 评论

举报

可能吧,我用了好几个51的例程都不行,然后用了一个别人专门51和32通信的51例程改了下才行
2020-6-3 07:14:25 评论

举报

现在又不行了,只有上电那会发得出去
2020-6-3 07:29:51 评论

举报

检查一下单片机接口电路部分,看是否有引脚短路了
2020-6-3 07:48:52 评论

举报

要不楼主把工程上传来帮你看看?
2020-6-3 08:22:51 评论

举报

我把32的和51的工程都上传了,你帮忙看下吧
2020-6-3 08:52:10 评论

举报

楼主,你stm32主函数那里:[C] 纯文本查看 复制代码
if(NRF24L01_TxPacket(tmp_buf)==TX_OK){LCD_ShowString(60,170,239,32,16,"Sended DATA:");LCD_ShowString(0,190,239,32,16,tmp_buf); key=mode;for(t=0;t<32;t++){key++;if(key>('~'))key=' ';tmp_buf[t]=key;}mode++; if(mode>'~')mode=' ';    tmp_buf[32]=0;//加入结束符   }
这里对发送信号处理不太适当吧?
一次循环之后就把你的tmp_buf[]数据跟换掉了,先把tmp_buf[t]=key;
这函数去掉看看。
现在手头上也没有板子不好验证底层驱动是否有问题。。。如果还是不行试一下按照原子的驱动改一下51的nRF24L01_RxPacket()吧
2020-6-3 09:07:10 评论

举报

nRF24L01_RxPacket()改了,也不行,还是32发51不能收,反过来就行
2020-6-3 09:23:19 评论

举报

在我看来是stm32发送数据那里没处理好,你发送完第一次“open”后,整个tmp_buf[]内容换成一串连续的ascii码,我算了一下,要等大概三分钟左右tmp_buf[0]才赋'o'呀。。。
楼主能看懂我意思么?
2020-6-3 09:41:44 评论

举报

我忘了告诉你现象了,其实是卡在 if(NRF24L01_TxPacket(tmp_buf)==TX_OK)了,再进去调试是已经达到了最大重发次数,所以返回值不是TX_OK而是MAX_TX
2020-6-3 09:53:26 评论

举报

也是正在调,前两天通的是在战舰上的,你这个mini的我看到整个里面很多帖子的呀。你找找。
2020-6-3 10:12:42 评论

举报

接收端问题??
我这里推荐两个链接吧,现在我手上没有硬件也不好帮你调。。
http://www.openedv.com/posts/list/0/57110.htm
http://www.openedv.com/thread-67073-1-1.html
2020-6-3 10:25:37 评论

举报

有件事很奇怪,我用了三块51开发板和一块mini32板各种互相通信,只有一块51板能收发,模块也互相换过了,51程序都一样
2020-6-3 10:41:43 评论

举报

2020-6-3 11:00:37 评论

举报

我要51和32通信,我那个应该是51的程序问题,三块开发板就一块能收发,程序一样,可能硬件不一样spi驱动不一样
2020-6-3 11:20:28 评论

举报

而且开发板都是一样的
2020-6-3 11:54:39 评论

举报

那只能当作是单片机的问题额
2020-6-3 12:14:38 评论

举报

好像也不是,我把单片机芯片互换了也是这样,就是那一块板子能收发
2020-6-3 12:26:56 评论

举报

2020-6-3 12:42:57 评论

举报

只有小组成员才能发言,加入小组>>

12下一页

106个成员聚集在这个小组

加入小组

热门话题

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表