-schumi-
01.08.2010, 20:59
Hallo liebe Community,
Mein Atmega32 macht was ganz komisches...
Zutaten für diese Problemsuppe:
- Das Funk AVR Evaluations Board von Pollin (als Bausatz)
- ein jungfreulicher Atmega32-16PU
- Eine Priese PonyProg
- und BASCOM
1. Atmega32 ins Board stecken (richtig rum natürlich, Atmega8 hats schon 2 mal falsch rum überlebt 8-[ )
2. Mit PonyProg Fuses wie im Bild angehängt setzten
3. Bas-Datei mit folgendem Inhalt
$regfile = "m32def.dat"
$crystal = 16000000
Config Portd.5 = Output 'LED 1
Config Portd.6 = Output 'LED 2
Config Portb.1 = Input 'Taster
Do
Portd.5 = 1
Portd.6 = 0
Do
Loop until Portb.1 = 1
Portd.5 = 0
Portd.6 = 1
Waitms 1000
Loop
End
mithilfe von PonyProg via ISP in den Atmega laden
4. wundern
Was macht der Atmega?
-> Er macht das was ich ihm gesagt habe:
- LED1 an, LED2 aus
- Warten bis ich Taste drücke
- LED1 aus, LED2 an
- 1 sec. warten
- von vorne beginnen
Allerdings unterwirft er sich nur einer sehr begrenzten Zeit (ca. 3-5 sec.) meinen Programmierkünsten:
Denn dann:
- entweder er bleibt stecken wenn LED2 leuchtet und macht erst weiter wenn ich die Taste drücke (eig. sollte er nur 1 sec. warten)
- er macht etwas ganz anderes (teilweise leuchten LED1+2 !?!)
- Er macht das was ich will, aber beide LEDs glimmen nur schwach
3-5 sec. später geht er wieder ganz normal und dann spinnt er wieder und geht wider normal und...so weiter
Ich hab wirklich gar keinen Plan warum das so ist... Es muss offensichtlich mit dem Taster zusammenhängen, weil wenn der Atmega nur blinken soll ohne das die Taste gedrückt wird macht er das ganz brav das macht er jetzt schon seit ca. 30 min. ohne Probleme . Allerdings funktioniert der Taster mit einem Atmega8 tadellos... (sogar das selbe Programm, nur eben die ersten beiden Zeilen entsprechend geändert)
Woran zum Teufel liegt das???
Bitte um ergebenst um Hilfe
-schumi-
PS: kann sein das die Fuses irgendwie nicht stimmen?? hab mich noch kaum damit auseinander gesetzt... (bzw. hab sie mir von da geklaut: http://www.mikrocontroller.net/topic/59460, die 2. Antwort. Aus dem Datasheet zum Atmega32 wurde ich noch nicht so ganz schlau... )
Mein Atmega32 macht was ganz komisches...
Zutaten für diese Problemsuppe:
- Das Funk AVR Evaluations Board von Pollin (als Bausatz)
- ein jungfreulicher Atmega32-16PU
- Eine Priese PonyProg
- und BASCOM
1. Atmega32 ins Board stecken (richtig rum natürlich, Atmega8 hats schon 2 mal falsch rum überlebt 8-[ )
2. Mit PonyProg Fuses wie im Bild angehängt setzten
3. Bas-Datei mit folgendem Inhalt
$regfile = "m32def.dat"
$crystal = 16000000
Config Portd.5 = Output 'LED 1
Config Portd.6 = Output 'LED 2
Config Portb.1 = Input 'Taster
Do
Portd.5 = 1
Portd.6 = 0
Do
Loop until Portb.1 = 1
Portd.5 = 0
Portd.6 = 1
Waitms 1000
Loop
End
mithilfe von PonyProg via ISP in den Atmega laden
4. wundern
Was macht der Atmega?
-> Er macht das was ich ihm gesagt habe:
- LED1 an, LED2 aus
- Warten bis ich Taste drücke
- LED1 aus, LED2 an
- 1 sec. warten
- von vorne beginnen
Allerdings unterwirft er sich nur einer sehr begrenzten Zeit (ca. 3-5 sec.) meinen Programmierkünsten:
Denn dann:
- entweder er bleibt stecken wenn LED2 leuchtet und macht erst weiter wenn ich die Taste drücke (eig. sollte er nur 1 sec. warten)
- er macht etwas ganz anderes (teilweise leuchten LED1+2 !?!)
- Er macht das was ich will, aber beide LEDs glimmen nur schwach
3-5 sec. später geht er wieder ganz normal und dann spinnt er wieder und geht wider normal und...so weiter
Ich hab wirklich gar keinen Plan warum das so ist... Es muss offensichtlich mit dem Taster zusammenhängen, weil wenn der Atmega nur blinken soll ohne das die Taste gedrückt wird macht er das ganz brav das macht er jetzt schon seit ca. 30 min. ohne Probleme . Allerdings funktioniert der Taster mit einem Atmega8 tadellos... (sogar das selbe Programm, nur eben die ersten beiden Zeilen entsprechend geändert)
Woran zum Teufel liegt das???
Bitte um ergebenst um Hilfe
-schumi-
PS: kann sein das die Fuses irgendwie nicht stimmen?? hab mich noch kaum damit auseinander gesetzt... (bzw. hab sie mir von da geklaut: http://www.mikrocontroller.net/topic/59460, die 2. Antwort. Aus dem Datasheet zum Atmega32 wurde ich noch nicht so ganz schlau... )