To change the address we are provided with A0, A1 and A2 pins. By default these three pins are high so the address by default is 01001110 which is 0x4E. To change the address of this device, you have to connect any/all of these three pins to ground, which is provided just above them. So let's say you connected A0 to ground, new address will be 01001100 which is 0x4B. In this manner, we can connect upto 8 LCDs to the same line.
We continuously check for incoming data and when data is received, display it on the lcd. 2.) Use interrupt. Microcontroller does it's normal operations, and whenever the data receiving completes, an interrupt is generated and ISR is executed, after completing ISR, control returns back to normal operation.
STM32 devices are great but the only problem with them is when it comes to programming. Register based programming is not easy, because clock setting is very messed up, and there aren't any reliable libraries. ST microelectronics provides HAL libraries but that is also not so good. Nevertheless I am going to use HAL libraries as they are officially supported by ST and also it have a good community support.