I am working on an MSP430 project that requires me to route the output of one peripheral into the input of another peripheral. Thus, I have two MCU pins connected directly to each other. This looks suspicious to me since there is the possibility of a programming error causing both to be (possibly conflicting) outputs. Also, there is the issue of startup and programming states.
In the worst case, if one pin is driving HI, the other is driving LO, the GPIO pins generally have way more sink capability than source capability… so it'll be somewhat like taking a HI output and shorting it to near-ground. Which is bad… but how bad is it? Is it likely to cause damage to the MCU?
I often see examples on the web of people using Arduinos to light an LED between two pins without a resistor, and I haven't heard of any stories of anyone frying anything but the LED. Clearly you wouldn't want to do this in a product, but do manufacturers generally try to protect the MCU from GPIO pins being overloaded anyway?
Thinking about it in retrospect, putting a current-limiting resistor between the two pins would have prevented any worries, but even a minor hardware change is a very difficult thing to do at this point.
For future reference and the benefit of posterity, does anyone have any other ideas about the proper way of minimizing the risks of connecting two MCU pins together, and more generally, minimizing the risks that come from the possibility of overloading a GPIO pin?