I wrote a code for to toggle the port that is given below #include<reg51.h> sbit CLOCK = P0^2; void main() { while(1) { CLOCK = CLOCK^1; } } its not toggling in the IDE please guide me Mahesh
You can fine which is better. On any halfway sane compiler, the two bits of code should produce exactly the same assembly output. Dont see the size of the c file. But that's the whole point. Toggling a bit is simple enough that it can be put into one line of code instead of eight, ... unless you get paid by lines of code, in which case the first solution is to be preferred. Unnecessarily bloating the source code makes maintenance more difficult.
You are going to place the c code in your hard disk or any thing else. But the opcode is going to reside in FLASH. One byte of FLASH is costlier than some 50 bytes of hard disk. And no one can pay for the execution time. Comment statements are there to give the understanding.
So try:
CLOCK ? (CLOCK = 0) : (CLOCK = 1);
CLOCK = ~CLOCK;
this is basicallt the same as
if (var = TRUE) { var = FALSE: } the above is the simple example and I can not tell how many times I have seen this idiocy/ Erik