What I need to do is:
TX Request – CH 0xC - TX Request – CH 0xE - TX Request – CH 0xC - TX Request – CH 0xE etc…
Once the CH command is sent, the AT Command Response frame - 0x88 arrive after 20µs but, when I try to send data with TX Request: 16-bit address - 0x01, the frame go to the wrong receiver with the wrong channel or even worst, the frame is not sent at all and I don’t get the TX Status frame - 0x89.
I tried also to give some time after CH commands, up to 200ms before sending frame but no change.
After a lot of tests, if I have to draw a conclusion, I will say that, after a channel change the first TX Request is not correctly handled.
Everything else works fine if channel is not changed so I don’t think I had some hardware or software issues.
You need to wait for it to change channels before you send the TX request packet. You need to make sure that when you send the AT command, that you are sending the apply changes function and verify that the channel changed.