i have read Mark Odell's UART driver. However,the code size is too large for me. can i just using the simple function call: char x,y; getchar(y); //get char from urat x=y; putchar(x); //put char to urat is it possible to do that in keil?
Too large? Code or data? If code, eliminate all the access functions for setting UART options. Just hard code the thing for a given baud, EOL translation, etc. That'll save you some code space. Next, reduce the ring buffer sizes for better data compactness. Let me know what size you hope for in code and data, I'll see if I can get you there.
Where can I get hold of Mark Odell's (or similar) interrupt driven UART driver? I am looking for code to replace putchar() and getchar() with interrupt driven circular buffers... thanks.
I can email it to you if you like. - Mark
Maybe this helps: http://www.keil.com/download/docs/intsio.zip.asp Reinhard
http://www.8052.com/codelib.phtml
Thanks for the info, guys. Will check out the links. cheers, nicol.