查看: 528|回复: 3

[未解决] 有大佬能看一下为啥我这个nrf2401没起作用,接收不到数据

[复制链接]
回帖奖励 26 金币 回复本帖可获得 2 金币奖励! 每人限 1 次
  • TA的每日心情
    奋斗
    2020-7-2 20:36
  • 签到天数: 185 天

    [LV.7]常住居民III

    发表于 2019-12-2 21:10 | 显示全部楼层 |阅读模式

    [mw_shl_code=arduino,true]控制代码
    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>

    RF24 radio(8, 9); //CE, CSN
    const byte address[6] = "00001";

    char xyData[32] = "";
    String Rjoy, Lpot, Rpot, Ljoy;

    int delaytime = 20;

    void setup() {
      Serial.begin(9600);
      radio.begin();
      radio.openWritingPipe(address);
      radio.setPALevel(RF24_PA_MIN);
      radio.stopListening();
    }

    void loop() {
      Rjoy = analogRead(A1);
      Lpot = analogRead(A2);


      
      Serial.print("Rjoy = ");
      Serial.print(Rjoy);
      Serial.print("\t");
      
      Serial.print("Lpot = ");
      Serial.print(Lpot);
      Serial.print("\t");
      
      Serial.println();
      
      //X value
      Rjoy.toCharArray(xyData, 5);
      radio.write(&xyData, sizeof(xyData));
      
      //Y value
      Lpot.toCharArray(xyData, 5);
      radio.write(&xyData, sizeof(xyData));
      delay(delaytime);
      
    }

    接收代码
    int In4 = 6;
    int ENB = 5;
    int delaytime=20;

    void setup() {
      pinMode(In3,OUTPUT);
      pinMode(In4,OUTPUT);
      pinMode(ENB,OUTPUT);
      digitalWrite(In3, HIGH);
      digitalWrite(In4, LOW);
      Serial.begin(9600);
      myServo.attach(3);
      radio.begin();
      radio.openReadingPipe(0, address);
      radio.setPALevel(RF24_PA_MIN);
      radio.startListening();
    }

    void loop() {
      if (radio.available()) {
        radio.read(&receivedData, sizeof(receivedData));
        xAxis=atoi(&receivedData[0]);
        delay(delaytime);
        radio.read(&receivedData, sizeof(receivedData));
        yAxis=atoi(&receivedData[0]);
        delay(delaytime);
       
      }
      int angelV= map(xAxis, 0, 1023, 130, 60);
      int throttle= map(yAxis, 0, 1023, 0, 255);
      myServo.write(angelV);
      analogWrite(ENB, throttle);
      
      Serial.print(angelV);
      Serial.print("\t");
      Serial.print(yAxis);
      Serial.print("\t");
      Serial.print(throttle);
      Serial.println();
       
    }[/mw_shl_code]

  • TA的每日心情
    奋斗
    2020-7-2 20:36
  • 签到天数: 185 天

    [LV.7]常住居民III

     楼主| 发表于 2019-12-2 21:13 | 显示全部楼层
    接受机插到电脑串口上一直显示没有接受数据,接线是这样CE <-> D8
    CSN <-> D9
    MOSI<-> D11
    MISO<-> D12
    SCK <-> D13
    IRQ <-> 不接,不知道是哪里出错了
  • TA的每日心情

    2020-4-21 18:59
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2020-4-10 15:31 | 显示全部楼层

    回帖奖励 +2 金币

    没有问题呀!!!?

    该用户从未签到

    发表于 2020-4-12 18:52 | 显示全部楼层

    回帖奖励 +2 金币

    兄弟  你搞的也是通信吗
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    求助,用l298n模块控制电机转速,老是无缘无故的转动怎么...
    求助,用l298n模块控制电
    代码如下:int state1=0; int state2=0; void setup() { pinMode(9,OUTPUT); pinMode(
    【干货分享】mega2560原理图PCB图纸altium designer18
    【干货分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
    绑定github账号,免费增加设备额度
    绑定github账号,免费增加
    免费增加blinker设备额度的方法: 1.登录点灯管理台( https://admin.diandeng.tech/
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表