In one address 0x4500, It have 3 register. receiver buffer register. transmitter holding registers and Divisor least significant byte register. The 3 register in one address. How could I deal with that? I don't know what register I read or write
Before reading from that address you should look at UIIR register. Please take a look in 8306 RM at chapter 220.127.116.11. Also, you can take a look in 8306SOM_serial project included in CW ( serial driver is already implemented in CodeWarrior as an example).
That register is normally the transmitter holding register when you write to it, and the receiver buffer register when you read from it. When you put the UART into a special mode it becomes the divisor least significant byte register.
Note that this UART is almost identical to a standard 16550 (e.g. as found on PCs), so any examples or tutorials you find for programming a standard UART would be applicable.
Retrieving data ...