nRF24L01与Arduino连接问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3401|回复: 9

[已解决] nRF24L01与Arduino连接问题

[复制链接]
发表于 2021-7-3 13:12 | 显示全部楼层 |阅读模式
本帖最后由 呵书呆 于 2021-7-4 11:24 编辑

计划使用两块nRF24L01模块实现Arudino Nano与Arduino Uno之间的通信,为避免麻烦,使用的是RF24库。
但始终收不到信息,偶尔会出现乱码,不知为什么,烦劳指教。
  1. //nRF24L01 - Uno
  2. //VCC - 3V3
  3. //GND - GND
  4. //CE - 7
  5. //CSN - 8
  6. //MOSI - 11
  7. //SCK - 13
  8. //MISO - 12

  9. #include <SPI.h>
  10. #include <nRF24L01.h>
  11. #include <RF24.h>

  12. RF24 radio(7, 8);

  13. const char text[] = "hello,world";
  14. const byte address[6] = "00001";
  15. void setup(){
  16.   radio.begin();
  17.   radio.openWritingPipe(address);
  18.   radio.setPALevel(RF24_PA_MIN);
  19.   radio.stopListening();
  20. }

  21. void loop(){
  22.   radio.write(&text, sizeof(text));
  23.   delay(1000);
  24. }
复制代码
  1. <blockquote>//接收端
复制代码
 楼主| 发表于 2021-7-3 13:18 | 显示全部楼层
接收端代码在上面发不出来,我发在这里。
  1. //接收端
  2. #include <SPI.h>
  3. #include <nRF24L01.h>
  4. #include <RF24.h>
  5. //nRF24L01 - Nano
  6. //VCC - 3V3
  7. //GND - GND
  8. //CE - D7
  9. //CSN - D8
  10. //MOSI - D11
  11. //SCK - D13
  12. //MISO - D12
  13. RF24 radio(7, 8); // CE, CSN

  14. const byte address[6] = "00001";
  15. void setup() {
  16. Serial.begin(9600);
  17. radio.begin();
  18. radio.openReadingPipe(0, address);
  19. radio.setPALevel(RF24_PA_MIN);

  20. }

  21. void loop() {
  22.   radio.startListening();
  23.   char text[36] = "";
  24.   while (radio.available()) {
  25.     radio.read(&text, sizeof(text));
  26.     Serial.println(text);
  27.   }
  28. }
复制代码
发表于 2021-7-3 16:52 | 显示全部楼层
有一个问题是:常用的 arduino uno 是 5v 电平,nRF24L01是 3.3v

点评

不过NRF貌似可以忍受5V逻辑  发表于 2021-7-4 09:02
发表于 2021-7-3 18:16 | 显示全部楼层
接收第 25 行移动至 21 行试试,重复 startlisten 不知是否会复位
发表于 2021-7-4 09:13 | 显示全部楼层
发射代码26行、接收代码28行,把text前面的 & 去掉。
数组本身就是个指针,指向数组内第一个元素(此处为text[0])。换句话说,text的值就是text[0]的地址、&text是text的地址,而我们要的是text[0]的地址。
 楼主| 发表于 2021-7-4 09:44 | 显示全部楼层
谢谢诸位,我发现问题在哪了。
是引脚接触不良(尴尬)
代码本身没错
发表于 2021-7-26 17:04 | 显示全部楼层
求助我用rf24库时,radio.write()一直是0,消息一直发送不出去。。哪位大神遇到过这样的情况麻烦解答下
发表于 2021-11-15 10:30 | 显示全部楼层
能求个库吗
发表于 2022-3-8 17:07 来自手机 | 显示全部楼层
大哥,我的问题和你一模一样,请问你怎么调通的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 13:55 , Processed in 0.102491 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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