Atmel Ausgang zerschossen?

Gast #5916043
Lesenswert?

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.
Gast #5916418
Lesenswert?

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...
Gast #5917905
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren