I am using the ADuC7122 micro in an application where we need 2 I2C busses AND a UART. It appears that the UART shares pins with I2C1. We can effectively control when we TX on the UART to ensure that we do not interfere with I2C operation but, of course, we never know when something might be coming in on RxD to the UART.
We have some ideas on how to mitigate this but I was just wondering if anyone had any experience with or application notes on effectively multiplexing the use of both the UART and I2C?
The I2C pins of the ADuC7122 device are P0.0 and P0.1 for I2C0, and P1.0 and P1.1 for I2C1.
I2C can support multiple devices using only 2pins. Can you consider using I2C0 only?
No. I have 2 separate I2C buses. 1 is a master, the other a slave. I need both.
If you are not sure about the timing of your UART signal, I will recommend not to multiplex that. You have to find a way to combine your I2C bus