www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik At90s8535 macht nicht mit


Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen

Ich habe eine Problem mit meinem AT90s8535.

Ich habe ein Programm geschrieben welches einige Eingänge benötigt.
Zuerst habe ich PortB für diese Eingänge benutzt. Da haben aber nur die
ersten 2 Pins richtig funktioniert.

Danach habe ichs halt mal mit PORTD versucht... nur der erste Pin
funktionierte.

Ich vermute dass das irgend einen Zusammenhang mit den alternativen
Funktionen hat, aber ehrlich gesagt habe ich keine Ahnung wie man die
deaktivieren kann (ich habe sie ja gar nicht aktiviert).

Jedenfalls bin ich mit meinem Latein am Ende und hoffe das ihr mir
helfen könnt.

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
War wohl 'n Schnäppchen?

Aber ohne Schaltplan und Programm können wir da nicht mitreden.

MfG, Heinz

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es würde mir auch schon helfen wenn mir jemand sagen könnte, ob man
überprüffen kann welche alternativen Funktionen an eine Port aktiviert
sind!

Autor: Eddi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das kann man sehr leicht in dem Quelltext ueberpruefen, den Du
geschrieben hast. Was dort nicht aktiviert ist, ist auch nicht
aktiviert.

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, ich poste hier mal die zwei Unterprogramme, in denen die Ports
verwendet werden.

Ich kanns mir zwar fast nicht vorstellen, das der Fehler hier liegt,
aber vieleicht findet ja jemand den Fehler.

An der funktion "Entprell" liegts übrigens nicht, denn ich habe es
mit und ohne Entprellen versucht.

void ReadBase (void)
   {
   if (Entprell(PIND,5,200))
      {
      MenuHorizontal+=1;
      }
   if (Entprell(PIND,1,200))
      {
      MenuHorizontal-=1;
      }
   if (Entprell(PIND,2,200))
    {
    MenuVertikal+=1;
    }
   if (Entprell(PIND,3,200))
    {
    MenuVertikal-=1;
    }
   if (Entprell(PIND,0,200))
      {
      if (PWM>0)
         {
         PWM=0;
         }
      else
         {
         PWM=100;
         }
      }
   }

void Inits (void)
   {
   outp (0xFF, DDRA);
   outp (0x00, DDRB);
   outp (0x00, DDRC);
   outp (0xC0, DDRD);
   lcd_init(LCD_DISP_ON);
   lcd_clrscr();
   MenuHorizontal=MenuVertikal=KlatschStatus=0;
   PWM=100;
   vorher=1;
   }

Könnte das Problem vieleicht auch mit dem Makefile zusammenhängen? Das
ist nämlich das Einzige das ich nicht selber geschrieben habe.

Ich danke euch schon im Voraus für Eure Antworten und
Lösungsvorschläge.

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, da hat mir der Submit Knopf einen Streich gespielt.
Sollte eigentlich nur einmal erscheinen.

Autor: Mathias Giacomuzzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie machst du das mit der Funktion Entprell, das sieht irgendwie gut
aus!! Kannst du den Code mal posten??

Danke mfg mathias

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.