i am using the following union in a program. when i changes any of _74HC259 member field(Address,Data,Gate,Clear), variable Value doesn't changes crosspondingly. union LATCH{ unsigned char Value; struct { unsigned Address:3; unsigned Data :1; unsigned Gate :1; unsigned Clear :1; }_74HC259; }Latch; what is basically the problem, does C51 comiler doesn't handle such type of data structure? Regards
It just occurred to me that my narrowing what the Standard says to suit your unsigned usage could be misleading. The Standard actually says that a bitfield may have type int, unsigned int, or signed int. I was limiting my reply to unsigned because you were using unsigned types, but my comment about "nonstandard bitfield type" would apply to signed char as well.