??? 05/24/07 00:56 Read: times Msg Score: +1 +1 Informative |
#139710 - No, that's wrong Responding to: ???'s previous message |
Neil Kurzman said:
You can use "bdata"
char bdata bitByte; X = bitByte ^ 6; That's a common mistake (been there, done that) The '^' used as an operator in an expression like that has its normal, standard 'C' meaning of "Exclusive-OR" To define a bit within a bit-addressable byte, you need to do this: char bdata bitByte; // Define a bit-addressable byte sbit X = bitByte^6; // Define 'X' as bit 6 within the bytehttp://www.keil.com/support/m...ddrobj.htm Why on earth Keil had to choose '^' for this purpose - thus almost guaranteeing this confusion - is a mystery! |
Topic | Author | Date |
Byte used as bit | 01/01/70 00:00 | |
which compiler? | 01/01/70 00:00 | |
Silabs IDE | 01/01/70 00:00 | |
and was this inline assembler in C-program? | 01/01/70 00:00 | |
No, not an assembler in C | 01/01/70 00:00 | |
SILabs IDE is NOT a compiler | 01/01/70 00:00 | |
I was just referring to the IDE used. | 01/01/70 00:00 | |
Terminology | 01/01/70 00:00 | |
Assuming The Keil C Compiler | 01/01/70 00:00 | |
No, that's wrong | 01/01/70 00:00 | |
So much for the manual | 01/01/70 00:00 | |
Yes, that's it! | 01/01/70 00:00 | |
assembler | 01/01/70 00:00 | |
assembling not compiling | 01/01/70 00:00 | |
MISC_FLAGS EQU 20h | 01/01/70 00:00 | |
re:MISC_FLAGS EQU 20h | 01/01/70 00:00 | |
Bytes as bits | 01/01/70 00:00 | |
stop expreimenting, read the manual | 01/01/70 00:00 | |
Or use Acc![]() | 01/01/70 00:00 | |
Accurate terminology | 01/01/70 00:00 | |
C51.exe | 01/01/70 00:00 | |
No and definitely not | 01/01/70 00:00 | |
Check Byte Address | 01/01/70 00:00 | |
i do not recall | 01/01/70 00:00 |