Hallo! Vielleicht könnt ihr mir weiterhelfen. Ich habe mich dazu entschieden mit einem neuen Projekt mal einen neuen µC auszuprobieren. Dabei bin ich bei erstmal mal bei dem kleinen ATtiny 12 gelandet. Ich habe mir eine kleine Platine aufgebaut und das Kabel für den Pony-Prog konfektioniert. Erste tests waren erfolgreich. Da bei einem kleinen Bascom Programm, welches LED Blinken lassen sollte, die LED nur dauernd an waren, dachte ich mir, daß evtl. der interne Takt nicht aktiviert ist. Also Datenblatt her und die Bits geändert! Und nach dem schreiben reagiert der Chip überhaupt nicht mehr, läßt sich nicht mehr programmieren und auch nicht auslesen. Ist der Controller nun hinüber? Oder was könnte das sein? Ich werde zum testen nun doch mal einen externen Quarz dranbauen. Im Voraus schon mal danke für eure Hilfe. Gruß Sven
hallo. hast du versehentlich irgendwelche lockbits gesetzt? gruß michael
Da bei einem kleinen Bascom Programm, welches LED Blinken lassen sollte, die LED nur dauernd an waren, dachte ich mir, daß evtl. der interne Takt nicht aktiviert ist. ----------------------- Nee, Bascom kann den Tiny12 nicht. Nimm FastAVR, die Probierversion langt dafür. Habe es damit selber probiert. cdg
Ein so kleiner AVR mit überschaubaren Ressourcen schreit doch förmlich nach Assembler. Nutze die Gelegenheit das Ding per ASM kennen zu lernen. AVR-Studio und Datenblatt werden deine Freunde sein. ...
Ok! Werde es auch per assembler noch versuchen, das war eigentlich nur zum testen gedacht, da ich mich Bascom auskenne. Lockbits habe ich eigentlich keine gesetzt. Ausser es ist beim schreiben etwas schiefgelaufen. Das summe ist es läßt sich ja nix mehr programmieren. Mal noch eine andere Frage auf dem Chip steht nur ATtiny 12. Laut datenblatt wird aber unterschieden 12V-1/12L-4/12-8. Wie bekomme ich denn raus welchen ich nun habe, damit ich nicht übertakte?
So Der µC läuft wieder! Hatte doch den internen Oszillator ausgeschaltet. Mit externem Quarz geht es nun wieder. Danke für eure Hilfe!
Doch nochmal eine Frage? Kann es sein, daß der Pony Prog nicht zuverlässig arbeitet? Bei einem der beiden µC wollte ich nun wieder die Fuse Bits in den urzustand zurücksetzen, was nun darin endete, das der Chip nicht mehr ansprechbar ist, der andere läuft mit externem Quarz.
Ponyprog liest die Fuses nicht automatisch ein. Du musst deshalb grundsätzlich vor dem Einstellen der Fuses erstmal den aktuellen Stand aus dem AVR lesen, dann die gewünschten Fuses ändern, dann brennen. Denn man konzentriert sich ja immer nur auf die Fuses, die man ändern will und achtet kaum auf die anderen. ...
Noch vergessen: Eigentlich gibt es keinen Grund, etwas an den Fuses des Tiny12 zu verändern. Im Auslieferungszustand ist der interne Oszillator aktiviert, daher brauch der Tiny12 nur "Strom", einen Keramik-C am "Strom" und ein Programm. Allerdings arbeitet der interne Oszillator erst dann mit dem angegebenen Takt von 1,2MHz, wenn dieser ordentlich kalibriert wurde. Dazu ist das Kalibrationsbyte per Programmer-Software auszulesen und auf geeignete Weise dem User-Programm zugänglich zu machen (unteres Byte der letzten Flash-Zelle, entspricht "flashend*2" für LPM), damit es in das Kalibrationsregister "osccal" geschrieben werden kann. Dies erledigt dann im Rahmen der Reset-Routine eine Routine ähnlich der im Anhang. ...
@HanneS: Wird beim Standard-Takt das Kalibrierungsbyte nicht automatisch in OSCCAL geschrieben? Ich hab das Datenblatt zum Tiny12 nicht griffbereit, aber ich meine bei den ATmegas muss man OSCCAL nur bei 2, 4 und 8 MHz manuell im Programm schreiben, nicht beim Standard-Takt.
Bei Tiny12 und Tiny15 nicht... Bei AVRs nach Calibrationsmode 3.x (Tiny26, viele Megas) wird auch nur bei 1MHz automatisch kalibriert. ...
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.