Hallo, ich benutze das STK500 board und einen atmega8 mikrocontroller. Habe zuerst ein Programm geschrieben, beidem einfach nur alle LEDS eingeschalten werden sollen, allerdings leuchteten die LEDs 6 und 7 nicht. (Habe PORTB und PORTC benutzt). Als ich dann anschließend PortD benutzt habe, ging es wieder. Heißt das, dass ich jetzt nur noch PortD benutzen kann? Das kann es ja nicht sein oder? Danach habe ich noch ein kleines Testprogramm geschrieben, beidem über PortB die Taster abgefragt werden und anschließend über PortD auf die LEDs ausgegeben werden. Also wenn man einen Taster drückt, soll die Lampe leuchten, solange man gedrückt hält. Hier hat es wiederrum nur bei den LEDs 0-5 funktioniert, LED 6 leuchtete die ganze Zeit und LED 7 überhaupt nicht? Hab mir schon die Userguid vom STK500 durchgelesen, das Datenblatt vom atmega8 und auch schon hier im Forum gesucht, allerdings ergebnislos. (Ok habe irgendwo den Tipp gefunden, dass PortB nicht funktioniert und ich deshalb einen anderen nehmen soll, aber warum funktioniert dann PortC auch nicht und was soll das Verhalten bei meinem zweiten Programm?) Wäre wirklich froh, wenn mir jemand da helfen könnte! Danke schonmal. edit: Habe noch 2 Versionen hierzu: .include "m8def.inc" ldi r16,0x00 out DDRC, r16 ; C als Eingang ldi r16, 0xFF out DDRD, r16 ; D als Ausgang out PortD, r16 ; Alle Lampen aus loop: in r16, PinC ; PinC einlesen com r16 ;r16 invertieren out PortD, r16 ; Lampen ein rjmp loop Der einzige Unterschied von dem Programm zu dem vorigen ist, dass das com dabei ist. Wenn ich das mit PortC starte, leuchten wieder LED 0-5 und 6 und 7 nicht. Starte ich das gleiche Programm aber mit PortB leuchten alle LEDs, 0-5 kann man ausschalten, aber 6 und 7 nicht? Bin wirklich gerade ein bisschen verwirrt
an portb.6 und port.b7 wird der quarz angehängt, hast du deinen uC auf externen takt laufen? portc.6 ist der reset-pin, musst also auf fuse setzen um den verwenden zu können
Schau Dir mal das Datenblatt vom M8 an. Vorallem welche Pins von welchem Port rausgeführt sind und welche durch das STK belegt sein könnten. Dann kommst Du selbst drauf. :)
Ok danke schonmal, jetzt weiß ich zumindest schonmal warum es nicht funktioniert. Ich muss also die clock selection fuse settings ändern und die RSTDISBL settings ändern, aber wo geht das? Wenn ich zu dem mikrocontroller connecte steht unter dem Registerpunkt Fuses nichts von diesen settings ( benutze das AVR Studio ). Mit den Jumpersettings hat das nichts zu tun oder?
>RSTDISBL
wags Dir! (Finger weg!!!!)
Erst wenn Du Dir das Kapitel HV-Prog duchgelesen und
verstanden hast kann Du damit anfangen!
tut mir leid, wenn ich gerade ein wenig Begriffsstüzig bin, aber was ist das HV-Prog Kapitel? Und meine Frage besteht weiter: Wo kann ich die Fuses ändern ( jetzt speziell clock selection fuse )
Frage 1: Kapitel 3.7.2.1 Frage 2: Anhang wenn Du bei RSTDISBL eine Haken machst kanns Du ISP nicht mehr nutzen! das heißt er läst sich auf dem Weg den Du jetzt nutzt nicht mehr programmieren!!!!
Ok soweit hab ichs schonmal verstanden, dann würde ich das ganze wahrscheinlich mit high voltage programmieren müssen. (Ok jetzt weiß ich auch was hv ist :D ). Trotzdem weiß ich immer noch nicht, was ich aktivieren bzw. deaktivieren muss, damit ich von PortB die Pins 6 und 7 benutzen kann.
man nun stell Dich nicht so an. (XTAL1/TOSC1) PB6 (XTAL2/TOSC2) PB7 sind für den Prog. Takt vorbelegt und auf dem STK in ISP-Mode nicht nutzbar!
Quatsch! bitte streichen: >man nun stell Dich nicht so an. >(XTAL1/TOSC1) PB6 >(XTAL2/TOSC2) PB7 >sind für den Prog. Takt vorbelegt und auf dem STK in ISP-Mode >nicht nutzbar! Der Prog. Takt kommt über PB5(SCK). Hab jetzt hin und her probiert mit OSCSEL und XTAL1 BP6+7 lässt sich nicht nutzen! Hab jetzt mal das STK "durchgeklingelt"! Pin 9 und 10 des M8 sind garnicht mit den Pfostensteckern von PB6 und PB7 auf dem STK verbunden! ( Design Fehler oder bewußt ? ) jetzt wirds interessant! Klaus
Klaus wrote: > Pin 9 und 10 des M8 sind garnicht mit den Pfostensteckern von > PB6 und PB7 auf dem STK verbunden! > > ( Design Fehler oder bewußt ? ) Steht sogar im Manual des STK500. Die liegen auf dem PORTE/AUX-Header (und zwar, o Wunder, an XTAL1 und 2), weil sie nunmal primär mit Sonderfunktionen belegt sind!
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.