rtel wrote on Thursday, December 23, 2004:
Here is what I have found / done.
I can send many MBytes of data to the ARM chip all in one go at 115200 with no source code optimisation. When I do this it is possible for the queue of characters to be Txed to fill up and stop. I think this is because TRHE interrupts are being missed (see fix below). However the kernel continues without error or abort.
If I stop the task from emptying the queue then the behaviour is exactly the same and there are no problems.
The serial ISR as downloaded contains a while loop. If you comment out the line:
// while( lDidSomething )
then the THRE missing problem goes away. With this line commented out I have sent 10 Megs of data at 115200 baud and experienced no problems at all.
All I can suggest is that you send me your entire project file for the Keil board. I will try it here and let you know what I find.
Let me know what you want to do.