Hallo Gibt es eine zuverlässige Möglichkeit, einen bestimmten Ausgang eines AVR auf einen Defekt zu kontrollieren, ohne eigens ein Programm dafür schreiben zu müssen? Ich habe es mit dem Fluke Diodentest und Widerstandprüfer versucht, kein Durchgang.
Diodentest gegen VCC Diodentest gegen GND sollte eigentlich ein Ergebnis zutage führen. Insbesondere, wenn du mal mit anderen Pins vergleichst.
Wenn man einen Ausgang killt (Überspannung), sollten die internen Schutzdioden mit Sicherheit hops gegangen sein. Das kann man meist messen. Mit Kurzschluss (gegen VCC oder GND) habe ich beim AVR noch keinen Ausgang kaputt bekommen... da scheint der Innenwiderstand groß genug zu sein.
Donny schrieb: > ohne eigens ein Programm dafür schreiben zu müssen? Kindergarten, Schuhe zubinden kannst Du schon? Da schreibt man sich ein Progrämmchen, was die Ausgänge wackeln lässt in der Art Lauflicht und gut - das geht schneller als hier im Forum zu kaspern.
ich habe mit AVR32 noch kaum Erfahrung, darum wollte ich es vermeiden, ein Programm zu schreiben. Hab mich aber nun doch damit auseinandergesetzt und habe bislang folgendes (der Pin um den es sich handelt ist PB01): #include <avr32/io.h> int main(void) { int i ; AVR32_GPIO.port[1].gper = 1 <<1; AVR32_GPIO.port[1].oder = 1 <<1; while (1) { AVR32_GPIO.port[1].ovrs = 1 <<1; for (i=0;i<100000;i++); } } Hab es noch nicht geflasht, wollte zuerst eure Meinung dazu...
Andre schrieb: > Per JTAG drauf und am Pin wackeln. Genau dafür wurde das doch eigentlich > erfunden. Blöd nur das die AVR eben kein Boundary Scan können IIRC. Wie übrigens die Mehrzahl der "üblichen" Mikrocontroller.
Donny schrieb: > for (i=0;i<100000;i++); Eventuell entfernt der Optimizer die ganze Zeile, weil sie "nichts" bewirkt. Du kannst den Optimizer mit der Compileroption -O0 deaktivieren, oder in der Schleife einen Nop Befehl ausführen: for (i=0;i<100000;i++) { __NOP(); } Der bewirkt zwar auch nichts, ist aber als volatile gekennzeichnet, was dem Optimizer verbietet, ihn weg zu optimieren.
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.