This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This sounds like your ISR code can take more than one character time to execute. Assuming 8-N-1 data format, a 57600 baudrate works out to 173.6 microseconds per character. You don't say what speed your CPU is running, but I suspect 173.6 uS works out to a *lot* of CPU instructions. You should not need to sit in the ISR waiting for the line to go idle.I've been developing an application which makes use of the mpc555 serial driver (xxx555_serial_with_ints.c).
....
With the exception fixed, I was still getting overruns so I moved the code out of the DSR code into the ISR to improve latency. Since its only moving a byte out of a register, I thought it doesn't really need a DSR. This improved matters, but the overrun was still occuring.
-- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |