Hallo, Ich habe mir vor ein paar Tagen das STK600 zugelegt. Mikrocontroller ist ein atmega2560. Ich wollte mir einen Timer bauen der die LEDS an und aus schaltet also sie sollen ca im Sekundentakt blinken. Mein Programm ist an das Tutorial angelegt aber irgendwie funktioniert es auf dem Board nicht. Im Debugmode geht alles einwandfrei. So nun mein Programmtext. .include "m2560def.inc" .def temp=r17 .def leds=r16 .def k=r18 .org 0x000 rjmp main .org OVF0addr rjmp overflow_timer0 main: ldi temp,LOW(ramend) out SPL,temp ldi temp,HIGH(ramend) out SPH,temp ldi temp,0xff out ddrb,temp ldi leds,0x00 ldi temp,(1<<TOIE0) sts TIMSK0,temp ldi temp,(1<<cs00)|(1<<cs02) out TCCR0B,temp sei loop: cpi k,14 BREQ umschalten rjmp loop overflow_timer0: inc k out portb,leds reti Umschalten: com leds ldi k,0x00 rjmp loop
Was vergessen Controller ist auf 8MHZ eingestellt Spannung VTarget=5V Aref0=0V und Aref1=0V Hab die so eingestellt da ich nicht weis was die machen :D bin noch recht unerfahren hab vorher auf einem 8051er bisschen ws programmiert
Hi >>sts TIMSK0,temp >Was soll das im SRAM ? >;-) Ist richtig, weil nicht mit 'out' zu erreichen. Hast wohl noch nie mit grösseren AVRs gearbeitet? MfG Spess
Hi > aber irgendwie funktioniert es auf dem Board nicht. Was geht nicht? LEDs mit PortB verbunden? MfG Spess
Klar alles richtig verbunden aber sie blinken nicht. Die LEDS sind aber intakt das habe ich schon getestet. Habe auch schon einen anderen Port belegt PortA aber das geht auch nicht.
> CKDIV8 an
Dann arbeitest du nicht mit 8 Mhz sondern mit 8 Mhz/8. Die Blinkzeiten
sind ca. 4s aus/4s an.
Wenn zusätzlich der externe Takt noch nicht aktiviert ist (Fuses?), ist
der Takt sogar nur 1 MHz/8 und die Blinkzeiten sind 32s aus/32s aus.
Ahh ok. Den clock habe ich bei Clock Generator eingestellt.. aber ich vermute das war falsch oder?
> Clock Generator Kenne ich nicht. Im AVR Studio (Debugger/Simulator) kann man die Taktrate rel. frei einstellen, aber auf der der Hardware müssen zwei Sachen per Fuses eingestellt werden: Welche Taktquelle soll verwendet werden und soll die deren Taktrate durch 8 geteilt werden oder nicht.
Das habe ich auch eingestellt. Aber der Code ist richtig von der logik her oder? Weil dann kann ich das schonmal ausschließen.
Ok jetzt funktioneirt nicht einmal das hier : .include "m2560def.inc" ldi r16,0xff out ddra,r16 ldi r19,0b10100000 out porta,r19 ende: rjmp ende
Hi
>Ok jetzt funktioneirt nicht einmal das hier :
'funktioniert nicht' ist keine Fehlerbeschreibung. Was soll da
passieren?
MfG Spess
Hi >Es soll alle angeschlossenen Lämpchen an Porta anschalten. ldi r19,0b10100000 out porta,r19 setzt die Pins 7 und 5 auf H, den Rest auf L. Da die LEDs bei L leuchten, sind LED 6,4,3,2,1,0 an und LED 7 und 5 aus. Ist das so? MfG Spess
Es geht! IDIOTENFEHLER ich hatte in den settings immer nen anderen Pfad zu nem alten projekt stehen.... ich dachte schon da kann was nicht stimmen. Aber auf sowas kommt man einfach nicht wenn man den wurm wo anders sucht. Da ich immer auf den button auf der schaltfäche gedrückt hab um das programm zu überspielen hat es immer das alte draufgespielt...... Aber danke für die unterstützung! Falls es wiedermal probleme gibt hört ihr von mir..
Hi >IDIOTENFEHLER ich hatte in den settings immer nen anderen Pfad >zu nem alten projekt stehen... Wenn es dich tröstet, ist mir auch schon passiert. MfG Spess
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.