Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Thread Closed: Thread will re-open when original poster replies

???
04/15/07 15:16
Read: times


 
#137288 - Test Seems To Work
Responding to: ???'s previous message
I put the code you posted into a small Keil project file, albeit with a few more essential lines:
#include <c8051f020.h>                 	// SFR declarations

void main(void)
{
	float a;

	a=5.34;
	if(a>1.2)
		P1=20;
	else
		P1=10;

	while(1);
}


I found it to compile just fine. In addition I stepped the code through the Keil simulation mode debugger and the P1=20; clause of the if/else was executed just like one would expect.

BTW. Floating point on MCUs can sometimes be a bad idea. Note that this small program compiled to a whopping 167 bytes. For sure a small portion of the code was the C-Startup code but the main code lines are only a few bytes (43 to be exact) with a huge portion (109 bytes) taken up by the C?FPCMP3 routine which is used to compare variable a to 1.2.

Michael Karas


List of 12 messages in thread
TopicAuthorDate
if else statements in keil c51            01/01/70 00:00      
   Things to check            01/01/70 00:00      
      example            01/01/70 00:00      
   And it might help to use hex            01/01/70 00:00      
      floating point            01/01/70 00:00      
         Not true            01/01/70 00:00      
            further...            01/01/70 00:00      
   I suggest you read this..            01/01/70 00:00      
   Test Seems To Work            01/01/70 00:00      
      SDCC version works also            01/01/70 00:00      
         Testing the typo...            01/01/70 00:00      
   its a lot easier to use fixed point            01/01/70 00:00      

Back to Subject List