Hi Xavier,
sorry to hear that you have not been well.
So it looks like you're going the control byte then data which does make sense.
As for using 20MHz, all you do is set oscillator to HS (configuration settings) and set the clock speed to 20000000.
With RX interrupt, you can't have the LCD macros within it otherwise there will be corruption issues.
So within the RX interrupt macro, you just need update = 1
Then in main you need a decision branch if update = 1 then update=0: call coms macro.
If you give that a try then I can take another look at it for you.
One thing I would recommend is right click RS232 on your panel and change Display characters from characters to bytes:
Then you can see actual numbers sent, rather than asterisks
Martin