I spent some time refactoring and simplifying the UART driver in hopes of making it easier to understand and also faster. When it’s working perfectly, I’ll post the code.
Right now it works fine for just typing stuff. But it can’t keep up with spam coming in. Even at 9600, it can’t keep up. This is the RX and CTS lines. You can see the data is only sent when RTS is low (in RS232 high is low). So I may change the scheme up a bit to make RTS a stricter gatekeeper. I need to ensure reliable communication because I want to send intel hex files to a native flash burner.
Also, I need to start putting in more waveforms. This was my first waveform pulled off the scope.