I'm really tearing my hair out over this one. My microcontroller absolutely refuses to communicate with the PC side software, and I cannot for the life of me figure out what is going on. The software sends out plain ASCII serial commands. In this case, it's sending the word 'params'. When I use my software to do it, the micro doesn't acknowledge ANY serial input. At all. If, however, I type 'params' into PuTTY, it responds and gives me the data I asked for.
My logic analyzer showed that the commands are identical coming from both PuTTY and my software. I eventually hooked up my scope because I can't think of anything else. I attached some screenshots. White waveform is from PuTTY and the mirco will respond to it and print out its response. Yellow trace is the exact same command from my software. Almost exactly the same, except those two edges are lagging behind the other trace.
Surely those two edges can't be the cause of my problems, could it? This is baffling because I have debug code in right now that will print a message to the serial terminal if it receives a byte, and there's two or three good bytes before that first bad edge.
I'm completely at a loss here, and any hints would be greatly appreciated!
Relevant details: ATmega328 microcontroller, with a Cypress CY7C65213 USB to serial converter. Software is a Perl thing my partner wrote.