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.
War wohl 'n Schnäppchen? Aber ohne Schaltplan und Programm können wir da nicht mitreden. MfG, Heinz
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!
Ja, das kann man sehr leicht in dem Quelltext ueberpruefen, den Du geschrieben hast. Was dort nicht aktiviert ist, ist auch nicht aktiviert.
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.
Sorry, da hat mir der Submit Knopf einen Streich gespielt. Sollte eigentlich nur einmal erscheinen.
Wie machst du das mit der Funktion Entprell, das sieht irgendwie gut aus!! Kannst du den Code mal posten?? Danke mfg mathias
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.