Hallo, hab da ein problem mit meinem 80c537 und zwar macht der nur undefinierte Sachen. Das Programm erstelle ich mit dem c-compiller von keil im prog. steht: #include<reg515.h> #include<stdio.h> #define ein P54 #define aus P41 void main (void) { ein=1; aus=0; if(ein==1) { aus=1; } } jetz hab ich das Problem das er in den if-zweig springt oder mal auch nicht. Der Schalter "ein" ist ne elektronische Lichtschranke. Danke schon mal im vorraus!!!
ueberpruefst du in einer endlosschleife den zustand der lichtschranke? hier sieht es so aus, als waere dein programm nach einer ueberpruefung beendet.
@adrian ja das läuft in einer Endlosschleife durch. Vor der Zeile "aus=1;" steht ein Unterprogrammaufruf zu ner Warteschleife. @josef was ist mit der Frage "Pullups ?" genau gemeint?
Da fehlt die Hauptschleife ! Das main() darf niemals enden, sonst rennst Du ins Nirwana. main() { // Initialisieren for(;;){ // Hier must Du drin bleiben !!! } } Peter
er meinte doch dass er da eine warteschleife drin hat die das ganze wohl wieder aufruft; allerdings glaube ich dass da das problem liegt, denn wenn er die vor aus=1 einfuegt, dann kann die warteschleife eigentlich nicht einen geschlossenen kreis bilden... vielleicht zeigst du uns ja mal den kompletten code....
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.