Is my 328p psychic?

I have a 328p on a shield attached to an UNO. The reset line of the shield 328p (let's call this one "Jimmy") is tied to the reset signal of the 328p on the UNO (let's call this one "Penelope").

The TX and RX signals of Jimmy are connected to a USB RS232 adapter (MCP2200 based, home made).

Everything works perfectly - I can program both chips perfectly fine.

And that's the strange thing. It shouldn't be working.

My understanding is, when you open the serial port, it lowers the DTR signal, which resets the target microcontroller. The MCP2200 doesn't have DTR. Only TX, RX and GND are connected. And yet, when I go to program Jimmy (through /dev/ttyACM1) it resets and accepts the programming.

My only guess is that during the programming it must also open /dev/ttyACM0, which is connected to Penelope.

Is this a failing of the crumby IDE, or avrdude do you think?

majenko: Is this a failing of the IDE, or avrdude do you think?

Neither. It is how your operating system handles the serial ports. When opening one serial port, DTR is asserted on all of them.

A test to verify if it is avrdude or not, open a port with screen and see what happens.

I don't know about using screen for this - I usually use minicom.

Anyway, with minicom, opening /dev/ttyACM0 resets both boards. Opening /dev/ttyACM1 doesn't reset either board.

So it's not the O/S.