We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I declare a variable unsigned char bdata Kde in a.c.
[in file a.c] unsigned char bdata Kde;
[in file b.c] #include <stdio.h> ..... extern unsigned char bdata Kde; sbit testbit=Kde^1; void main(void) {......}
I'm not sure what you mean by "MANIFEST_CONSTANTS and ENUMS". A manifest constant is a #define an enums are enumerated integer constants as you guessed. The uppercase I used here was to indicate that they are conventionally written in uppercase. Variables are not. The pre-processor does not remove uppercase and uppercase hex digits have nothing to do with manifest constants or enums. Also, we convert all filenames to lower case since some OS's are case sensitive and since certain OS's don't care it makes it easier to deal with one standard. I had a problem with one developer on Linux that could not build my sources which I could build fine on Windows 2000. I had included a file as #include "FooBar.h" but when the file was committed to the CVS repository it ended up as foobar.h. When the Linux compiler attempted a case sensitive match for FooBar.h it could not find it and barfed. I have a C coding standard a my website that I invite you to browse to see what makes me tick on this subject. Also, I have some 8051 code samples there too. Enjoy! http://www.embeddedfw.com
Sorry, but your coding convention document is marked "confidential".
Ignore it. It's not confidential, I'm just too lazy to remove it and reprint the PDF. Apologies.