I'm designing a shield on which I can add additional circuitry for specialized applications (sort of a "semi-breadboard" with basic "glue" chips and pins already in place).
I would like this shield to communicate with a Uno on digital pins 0 (Rx) and 1 (Tx). My shield therefore should transmit data to the Uno on pin 0, and receive on pin 1.
But, as I uderstand it, these these pins also are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip. If so, what prevents my active TTL output from conflicting with the ATmega8U2's active TTL output?
I could add a chip with a 3-state output, and I could cause it to power-up in high-impedance, then go active in the setup() function. But if I have the IDE connected to the USB port and my sketch is running, how does the IDE tell my shield to go high-Z when it needs to upload a new sketch?
Can someone tell me what hardware I should be considering to transmit on Uno pin 0?