Arduino wire can't send char
Your problem is here:

char datar = '';

...

 len = radio.getDynamicPayloadSize();
 radio.read(&amp;datar, len);


The variable "datar" is one byte long. You then find the payload size (presumably greater than one byte) and read into datar more than one byte. This overwrites other parts of memory and the program crashes. You need to make datar larger, eg.

char datar [50];


The exact size would depend on your maximum payload size.