Hi, Seit kurzem habe ich das Problem, dass jegliche Ansteuerung (read/write) der digitalen Pins des Arduino Mega 2560 Boards fehlschlägt. http://arduino.cc/de/Main/ArduinoBoardMega2560 Der µC lässt sich programmieren, und die analogen Pins funktionieren auch einwandfrei. Mit dem Troubleshooting von Arduino.cc und Google bin ich auch nicht weitergekommen, desshalb frage ich hier, ob denn jemand eine Idee hätte woran es liegen könnte. Bisherige Versuche: -Fuse neu setzen -Treiber neu installieren -http://www.arduino.cc/en/guide/troubleshooting
Werden die Ports denn richtig initialisiert als digitale Aus-/Eingänge? Wurden die Ports schon benutzt und eventuell überlastet bzw. zerstört?
Initialisiert werden sie auf jeden Fall richtig. Kann es überhaupt durch EINE Überlastung dazu kommen das ALLE digitalen Pins nicht mehr ansprechbar sind ?
Na ja, ein Mega2560 hat gar keine "analogen" oder "digitalen" Pins, der hat einfach nur IO-Pins, die man (teilweise) so oder so programmieren kann. Und ja, es ist äusserst unwahrscheinlich, daß genau nur alle die Pins "kaputt" gehen, die das Arduino-Gedöns als "digitale" Pins benutzt. Mit Fuses und Treibern hat das auf jeden Fall gar nichts zu tun. Oliver
Oliver schrieb: > Und ja, es ist äusserst unwahrscheinlich, daß genau nur alle die Pins > "kaputt" gehen, die das Arduino-Gedöns als "digitale" Pins benutzt. Mit > Fuses und Treibern hat das auf jeden Fall gar nichts zu tun. Dachte ich mir auch, wo ich auch gleich zum eigentlichen Problem komme: Was ist da schief gelaufen, das dieses merkwürdige Problem ausgelöst hat. Bzw. was könnte ich noch versuchen, um das wieder zu richten.
Gegenfrage: Wie stellst du denn fest, daß alle digitalen Pins kaputt sind? Oliver
Egon R. schrieb: > Initialisiert werden sie auf jeden Fall richtig. Dann zeige mal deine Initialisierung der Ports!
Oliver schrieb: > Gegenfrage: Wie stellst du denn fest, daß alle digitalen Pins kaputt > sind? Ich schreib ein Programm indem ich den jeweiligen Pin auf High setze und messe an diesem die Spannung. Das Ergebnis ist bei low und high gleich - 0V. (Falls es was zur Sache tut, zwischen GND und dem Pin ist keine Verbindung messbar) Für den read-Vorgang, lege ich 5V an den Pin an und lasse mir vom Programm das Ergebnis ausgeben - Low. (Die 5V wurden gemessen, liegen also zu 100% an, werden aber nicht als high erkannt) Den Vorgang habe ich bei fast allen digitalen Pins durgeführt, und überall dasselbe Ergebnis. An den Analogen passt alles. Die Versorgung am µC passt, und das Programm wird auch korrekt ausgeführt.
:
Bearbeitet durch User
Egon R. schrieb: > Oliver schrieb: >> Gegenfrage: Wie stellst du denn fest, daß alle digitalen Pins kaputt >> sind? > > Ich schreib ein Programm indem ich den jeweiligen Pin auf High setze > und messe an diesem die Spannung. Egon. Beschreib nicht dein Programm, sondern zeige es. Es kann ja durchaus sein, dass dein Programm korrekt ist. Wahrscheinlich ist es das sogar. Aber jedem passiert mal beim Programmieren ein dummer Fehler, den er selbst nicht sieht. Und genau da liegt das Problem. Wenn du den dummen Fehler nicht siehst bist du steif und fest der Meinung, das dein Programm 100% korrekt wäre. > Das Ergebnis ist bei low und high gleich - 0V. Wo misst du? AM µC-Pin selber oder an der Arduino-Anschlussklemme?
:
Bearbeitet durch User
------ void setup() { pinMode(22, OUTPUT); //pinMode(23, INPUT); //Serial.begin(9600); } void loop() { digitalWrite(22, HIGH); //Serial.print(digitalRead(23)); } ------ Das war auch schon das ganze Programm. Den Code zum Lesen eines Pins habe ich auskommentiert. Karl Heinz Buchegger schrieb: > Wo misst du? > AM µC-Pin selber oder an der Arduino-Anschlussklemme? Habe jetzt noch eine Messung direkt am µC durchgeführt, auch hier 0V. Danach noch sicherheitshalber die Verbindung von µC Pin und Klemme überprüft - ist auch in Ordung (~0.8 Ohm) Zu der Initialisierung der Ports, da war meine Antwort wohl etwas voreilig, da ich selber damit nie etwas zu tun hatte, ich wüsste ehrlich gesagt auch nicht wie, da ich in der Arduino IDE bisher nur Pins abgefragt, bzw. gesetzt habe, direkt habe ich an den Ports nie etwas verändert. (meine ich zumindest)
:
Bearbeitet durch User
Und Du misst auch am richtigen Anschluss und mit dem richtigen Messgerät und im richtigen Modus (Spannungsmessung)?
Damit du das in den richtigen Zusammenhang bringst: viele von uns betreiben AVR. AUch auf Experimentierplatinen. Und da bleibt es nicht aus, dass man versehentlich auch schon mal einen auf Ausgang programmierten Pin kurz schliesst. Das sollte nicht vorkommen, es kommt aber in der Praxis vor. WEnn ich drann denke, wie ich meinen Experimentier-Mega 16 schon malträtiert habe, wird mir schwummerig. Langer Rede kurzer Sinn: So schnell gehen die Ausgangstreiber nicht kaputt. Und das in einem Aufwasch ALLE Ausgangstreiber defekt gehen, ist eher unwahrscheinlich. Die Arbeits-Hypothese lautet daher: Da ist irgendwas anderes faul.
Nico ... schrieb: > Und Du misst auch am richtigen Anschluss und mit dem richtigen Messgerät > und im richtigen Modus (Spannungsmessung)? Ja, das ist sicher richtig, habe vor dem Messen überprüft ob die Klemme eine Verbindung zum µC-Pin hat. Karl Heinz Buchegger schrieb: > Langer Rede kurzer Sinn: So schnell gehen die Ausgangstreiber nicht > kaputt. Und das in einem Aufwasch ALLE Ausgangstreiber defekt gehen, ist > eher unwahrscheinlich. > Die Arbeits-Hypothese lautet daher: Da ist irgendwas anderes faul. Das beruhigt mich zumindest schon mal etwas. Bin immer noch über jeden weiteren Tipp dankbar, da das Problem noch immer besteht..
Ohne mehr Infos wird Dir kaum einer helfen können. Bitte poste das ganze Programm. Hast Du mal versucht, eine LED blinken zu lassen? Oder andere fertige Beispielprogramme? JTAG abgeschaltet? Anderen Port benutzt? Mit was programmierst Du? Woher weisst Du, dass die Programmierung geklappt hat?
:
Bearbeitet durch User
Pete K. schrieb: > Ohne mehr Infos wird Dir kaum einer helfen können. Bitte poste das ganze > Programm. > Steht bereits etwas weiter oben. > Hast Du mal versucht, eine LED blinken zu lassen? > > Oder andere fertige Beispielprogramme? > Ja, die funktionierten auch kein bisschen besser. > JTAG abgeschaltet? Anderen Port benutzt? > JTAG gibts bei mir nicht, nur ICSP. Da ALLE digitalen Pins nicht mehr funktionieren, bringt mir das wechseln vom Port auch nichts. > Mit was programmierst Du? Woher weisst Du, dass die Programmierung > geklappt hat? Mit der IDE die Arduino zur verfügung stellt. Dadurch, dass ich am SerialMonitor eine Antwort erhalte.
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.