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?
Thanks for the info, guys. Will check out the links. cheers, nicol.
http://www.8052.com/codelib.phtml
Maybe this helps: http://www.keil.com/download/docs/intsio.zip.asp Reinhard
I can email it to you if you like. - Mark
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.
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.
...not that Mark's driver looks like bloatware to me anyway!
Of course it is - it will use Keil's Library implementations of putchar and getchar. But it won't be interrupt driven, and only supports the "standard" 8051 UART. Keil also have an interrupt-driven example in the downloads section - I dunno if it's any more compat than Mark's.
View all questions in Keil forum