www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Port als Eingang macht probleme


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!!!

Autor: Adrian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ueberpruefst du in einer endlosschleife den zustand der lichtschranke?

hier sieht es so aus, als waere dein programm nach einer ueberpruefung
beendet.

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pullups ?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da fehlt die Hauptschleife !

Das main() darf niemals enden, sonst rennst Du ins Nirwana.


main()
{
           // Initialisieren
  for(;;){
           // Hier must Du drin bleiben !!!
  }
}


Peter

Autor: Adrian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.