nrf24l01模块远程控制电机,将模块上sck口和mosi口改用2m长杜邦线连接后异常

我们基于arduino用nrf24l01模块来远程控制电机,已经调试到可以正常工作的程度,然后我们将nrf24l01上的线改接为2m长线,这时发现异常,电机不听遥控控制了,经过排查我们发现nrf24l01上的mosi口和sck口出现问题。
我们将其他的口换为长线后,一切正常。
当sck口与mosi口都接为长线后,尽管遥控器没有接入电源,在没有收到信号的情况下,仍然读取到信号为0,打开遥控器电源后也依然只读取到0;
将mosi口改回短线,sck口保持长线,则同上;
将sck口改回短线,而mosi保持长线,则没有收到任何信号,打开遥控电源后依然没有读取到任何信号;
将mosi也改回短线后,一切恢复正常。
实在无法理解出现什么问题,请赐教
代码如下
遥控端

```#include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    RF24 radio(8, 9); 
    const byte address[6] = "00001";
    char xyData[32] = "";
    String xAxis, yAxis;
   boolean shang=0;
    boolean xia=0;
    void setup() {
      Serial.begin(9600);
      radio.begin();
      radio.openWritingPipe(address);
      radio.setPALevel(RF24_PA_MIN);
      radio.stopListening();
    }
    void loop() {
      xAxis = analogRead(A0); 
      yAxis = analogRead(A1);
      shang = digitalRead(A2);
      xia = digitalRead(A3);
      xAxis.toCharArray(xyData, 5); 
      radio.write(&xyData, sizeof(xyData)); 
      yAxis.toCharArray(xyData, 5);
      radio.write(&xyData, sizeof(xyData));
      radio.write(&shang,sizeof(shang));
      radio.write(&xia,sizeof(xia));
      Serial.print(shang);
      Serial.print(xia);
      delay(40);
    }

电机端

    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    #define enA 5 
    #define in1 6
    #define in2 7
    #define enB 2   
    #define in3 3
    #define in4 4
    #define enC A4
    #define in5 A2
    #define in6 A3
    
    RF24 radio(8, 9);
    const byte address[6] = "00001";
    char receivedData[32] = "";
    boolean shang=1;
    boolean xia=1;
    int  xAxis=525, yAxis=525;
    int motorSpeedA = 0;
    int motorSpeedB = 0;
    int motorSpeedC = 0;
    void setup() {
      pinMode(enA, OUTPUT);
      pinMode(enB, OUTPUT);
      pinMode(in1, OUTPUT);
      pinMode(in2, OUTPUT);
      pinMode(in3, OUTPUT);
      pinMode(in4, OUTPUT);
      pinMode(in5, OUTPUT);
      pinMode(in6, OUTPUT);
      Serial.begin(9600);
      radio.begin();
      radio.openReadingPipe(0, address);
      radio.setPALevel(RF24_PA_MIN);
      radio.startListening();
    }
    void loop() {

    
      if (radio.available()) {
        xia=1;
        radio.read(&receivedData, sizeof(receivedData)); // Read the data and put it into character array
        xAxis = atoi(&receivedData[0]); // Convert the data from the character array (received X value) into integer
        Serial.print(xAxis);
        delay(10);
        
        radio.read(&receivedData, sizeof(receivedData));
        yAxis = atoi(&receivedData[0]);  
        delay(10);

           
        radio.read(&shang, sizeof(shang));
        delay(10);
        radio.read(&xia,sizeof(xia));
        delay(10);
        if(shang==0&&xia==1)
        {
          digitalWrite(in5,HIGH);
          digitalWrite(in6,LOW);
          motorSpeedC=200;
        }
       else if(shang==1&&xia==0)
       {
        digitalWrite(in6,HIGH);
          digitalWrite(in5,LOW);
          motorSpeedC=200;
       }
       else motorSpeedC=0;
      }
      if (yAxis < 470) {
        digitalWrite(in1, HIGH);
        digitalWrite(in2, LOW);
        digitalWrite(in3, LOW);
        digitalWrite(in4, HIGH);
        motorSpeedA = map(yAxis, 470, 0, 0, 255);
        motorSpeedB = map(yAxis, 470, 0, 0, 255);
      }
      else if (yAxis > 550) {
        digitalWrite(in1, LOW);
        digitalWrite(in2, HIGH);
        digitalWrite(in3, HIGH);
        digitalWrite(in4, LOW);
        motorSpeedA = map(yAxis, 550, 1023, 0, 255);
        motorSpeedB = map(yAxis, 550, 1023, 0, 255);
      }
      else {
        motorSpeedA = 0;
        motorSpeedB = 0;
      }
      if (xAxis < 470) {
        int xMapped = map(xAxis, 470, 0, 0, 255);
        motorSpeedA = motorSpeedA - xMapped;
        motorSpeedB = motorSpeedB + xMapped;
        
        if (motorSpeedA < 0) {
          motorSpeedA = 0;
        }
        if (motorSpeedB > 255) {
          motorSpeedB = 255;
        }
      }
      if (xAxis > 550) {
        int xMapped = map(xAxis, 550, 1023, 0, 255);
        motorSpeedA = motorSpeedA + xMapped;
        motorSpeedB = motorSpeedB - xMapped;
        if (motorSpeedA > 255) {
          motorSpeedA = 255;
        }
        if (motorSpeedB < 0) {
          motorSpeedB = 0;
        }
      }
      if (motorSpeedA < 70) {
        motorSpeedA = 0;
      }
      if (motorSpeedB < 70) {
        motorSpeedB = 0;
      }
     
      analogWrite(enA, motorSpeedA); // Send PWM signal to motor A
      analogWrite(enB, motorSpeedB);// Send PWM signal to motor B
      analogWrite(enC, motorSpeedC);
    }

这么长的线不出问题那才是异常

1,降低工作频率
2,对两条线都进行上拉,增加驱动能力