user52206: I'm using arduino uno and nrf24l01. to monitor sensor data.
But this is the message that master receives:

⸮

this is my slave code.
void monitoring() {
    delay(10);
    radio.stopListening();
    int soilMoisture = analogRead(A5);
    int light = analogRead(A4);
    float temp = analogRead(A3);
    temp = temp * 0.48828125;
    int ltemp = int(temp);
    String message = String(soilMoisture) + "," + String(light) + "," +    String(ltemp);
    Serial.println(message);
    delay(200);
    radio.write(&message, sizeof(message));
    delay(50);
    radio.startListening();
    delay(10);
}

and here is my master code.
while (1) {
    if (radio.available()) {
      char message[32] = "";
      radio.read(&message, sizeof(message));
      delay(500);
      Serial.println(message);
}


user31105: Remove the & in the master code line, change
 radio.read(message, sizeof(message));

to
radio.read(message, sizeof(message));

message is an array, so either you should pass the address of the first character (&message[0]), or simply pass message.
Another problem is sending a String in the slave code (using type String). It's better not to use this type anyway, but you probably have to convert it to a character array of the same type as in the master code.
You can use the function StringToCharArray for that, see StringToCharArray.

52206: <p>I'm using arduino uno and nrf24l01. to monitor sensor data.
But this is the message that master receives:</p>

<blockquote>
  <p>⸮</p>
</blockquote>

<p>this is my slave code.</p>

<pre><code>void monitoring() {
    delay(10);
    radio.stopListening();
    int soilMoisture = analogRead(A5);
    int light = analogRead(A4);
    float temp = analogRead(A3);
    temp = temp * 0.48828125;
    int ltemp = int(temp);
    String message = String(soilMoisture) + "," + String(light) + "," +    String(ltemp);
    Serial.println(message);
    delay(200);
    radio.write(&amp;message, sizeof(message));
    delay(50);
    radio.startListening();
    delay(10);
}
</code></pre>

<p>and here is my master code.</p>

<pre><code>while (1) {
    if (radio.available()) {
      char message[32] = "";
      radio.read(&amp;message, sizeof(message));
      delay(500);
      Serial.println(message);
}
</code></pre>
 31105: <p>Remove the &amp; in the master code line, change</p>

<pre><code> radio.read(message, sizeof(message));
</code></pre>

<p>to</p>

<pre><code>radio.read(message, sizeof(message));
</code></pre>

<p><code>message</code> is an array, so either you should pass the address of the first character (<code>&amp;message[0]</code>), or simply pass <code>message</code>.</p>

<p>Another problem is sending a String in the slave code (using type <code>String</code>). It's better not to use this type anyway, but you probably have to convert it to a character array of the same type as in the master code.</p>

<p>You can use the function <code>StringToCharArray</code> for that, see <a href="https://www.arduino.cc/en/Reference.StringToCharArray" rel="nofollow noreferrer">StringToCharArray</a>.</p>
