Hello,
Using uVGAII, PMMC REV 25
Using buffered comms
Is executing a SystemReset() EXACTLY like performing a cold boot (ie global variable initialization, etc)? If I reboot using SystemReset (), I am seeing some bytes "stuck" in the com1 buffer, until more bytes come in.
It's hard to explain, but it's as if the com1 count is zero, but the message buffer actually still holds some of the last message. In my main loop, I am constantly polling for the com1 count. If the count > 0, then I pass the number of bytes received to my message state machine. (It's not as inefficient as it sounds, as all we are doing is displaying incoming messages). My state machine process the bytes, and (when in debug mode) prints the current message state and message byte count.
Bytes becoming "stuck" ONLY happens after a SystemReset. If I power off and on, I never see this happen. Also, it seems that it is ALWAYS 3 bytes that get "stuck".
Keep in mind that I SEE every message that I send (I'm not "losing" bytes). But once I do a SystemReset, the first message does not "complete" until I send the second message, then the stuck bytes are processed in the state machine. The second message does not complete until I send the third message, etc
Using uVGAII, PMMC REV 25
Using buffered comms
Is executing a SystemReset() EXACTLY like performing a cold boot (ie global variable initialization, etc)? If I reboot using SystemReset (), I am seeing some bytes "stuck" in the com1 buffer, until more bytes come in.
It's hard to explain, but it's as if the com1 count is zero, but the message buffer actually still holds some of the last message. In my main loop, I am constantly polling for the com1 count. If the count > 0, then I pass the number of bytes received to my message state machine. (It's not as inefficient as it sounds, as all we are doing is displaying incoming messages). My state machine process the bytes, and (when in debug mode) prints the current message state and message byte count.
Bytes becoming "stuck" ONLY happens after a SystemReset. If I power off and on, I never see this happen. Also, it seems that it is ALWAYS 3 bytes that get "stuck".
Keep in mind that I SEE every message that I send (I'm not "losing" bytes). But once I do a SystemReset, the first message does not "complete" until I send the second message, then the stuck bytes are processed in the state machine. The second message does not complete until I send the third message, etc
Comment