Hi, > > You are very very confused... You have absolutely no idea what > >"__REG32 > > MR0I :1" means, do you??? It is obvious that you are > operating under > >some other understanding of just what it is that you wrote. > > > > Go have someone explain it to you, it would take too long > to do here. > > #define __REG32 unsigned long > > I only declare bit field. I can use uchar, or uint, it does't > important for bit field declaration Any questions? Yes, it *does* matter. The only *correct* usage when defining a bitfield is to use int or unsigned int -- if you use unsigned long or unsigned char when defining a bitfield, all bets are off because ISO C does not *define* what happens. Some compilers *do* define what happens when you use these types but that is an extension of the existing standard. A useful extension to be sure, and something that might, one day, even make it into the standard (though I really do dobt that it will). There is a technical report (TR) which does not hold as much weight as a full standard that does define how to access I/O using C-language constructs. You're bending the language and your interpretation to fit the hardware. That's all I'll say. GCC doesn't do what you want it to do, you found a compiler that does, be happy. :-) -- Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk CrossWorks for MSP430, ARM, AVR and now MAXQ processors
Message
RE: [lpc2000] Re: Looking to buy compiler
2005-11-08 by Paul Curtis
Attachments
- No local attachments were found for this message.