This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Why C language is not compatible with my C 8051 code

Another problem bring up is that:

When I tried to use the following instrution to write the code for my 89C51 chip. It can be compiled successfully. But it does not work in 8051 when I burn the code.
here is the code:
If(c!='A' | c!='B' | c!='O' | c!='P')
{ send_serial("Invalid command"); send_serial(crlf);
} Look like it does not take it when I write the format like above. Why ? I cannot understand. I think Keil C Uvison can take care it.

However, if I use only one
if (c!='A')
{ send_serial("Invalid command"); send_serial(crlf);
} if (c!='B')
{ send_serial("Invalid command"); send_serial(crlf);
} if (c!='O')
{ send_serial("Invalid command"); send_serial(crlf);
} if (c!='P')
{ send_serial("Invalid command"); send_serial(crlf);
} The 89C51 will recognize and run my code properly. Can you expalin what is happening?