??? 08/10/07 03:26 Read: times |
#143027 - Probably this miight be happening Responding to: ???'s previous message |
Hi Michal,
I have not gone deep through your source code, but I think this is possibly what is happening: When you write software in C/C++ for PC environment, there is always an exit point...i.e. your program must ideally give control to the Operating system and exit orderly...there are exceptions when you want your programs to stay resident...but ideally this is what the code for PC should look like... void main (void) { initialize (); ... ... for (;;) { ... ... if (Exit_Button) break; } return ; } But in the case of a Microcontroller, there is no operating system. Your microcontroller must be running till the power is ON to the microcontroller hence the above code will have to be modified slightly like this: void main (void) { initialize (); ... ... for (;;) { ... ... // if (Exit_Button) // This not required since there is no // break; //..exit point } //return ; } Note: There is NO exit point in your program and the for loop continues forever till the power is ON. But if you write the program for microcontroller like the first example... the program returns and starts executing from address 0000...i.e. the boot vector and starts executing the code all over again..hence you see that the program is starting all over again and again and again.... Bye , With best regards from, Kiran V Sutar Mumbai, INDIA |