I use RH_RF24.h to control Si4463, and realize some simple communication between two Si4463 . But I don't know the mean of RH_RF24_MAX_MESSAGE_LEN in this example.

RH_RF24_MAX_MESSAGE_LEN is a constant ? If so , what decides it ? And if I need to sent and receive a long char string , how to do it ?

1 Answer 1


RH_RF24_MAX_MESSAGE_LEN is probably defined in the header file RH_RF24.h.

It doesn't matter what size it is, you should always use RH_RF24_MAX_MESSAGE_LEN rather than the number because the value might change in the library and this will break your code if you have used the number.

If you want to send a message that is larger than RH_RF24_MAX_MESSAGE_LEN then you will need to 'fragment' the message (unless the library supports that). I would use the first byte of the message as the type of message and define one of those types as a multi part string. Then send a number of these message and reassemble the data on the receiver. When the receiver sees a message that contains a character with the ASCII value 0 then that is the end of the string.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.