ich brauche einfach nur eine 4-Augen-Prüfung, nicht dass ich was übersehe.
Für ein Projekt möchte ich einen ATTiny2313 einsetzen, habe paar davon und die Anzahl Ports reicht. Wollte nur meine Tool-Chain testen, und habe nach langem Suchen (auch in der Chip-Kiste) folgende Situation:
Zum Testen lese ich nur den Chip-Inhalt mit dem avrdude aus (Aufruf im shell-script).
(1) mit dem 2313-20PU bekomme ich keine Fehlermeldung, nur den Hinweis, dass der Chip leer ist, Die Signatur identifiziert ihn korrekt.
(2) mit allen (5 Stück) 2313A-PU bekomme ich die Meldung:
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
(3) ich habe in meinem Setup auch mit 25, 85 gespielt, jeweils problemlos.
Der 2313A-PU ist ja der Nachfolger des 2313, sollte lt. Doku identisch anzusprechen sein.
Ich schliesse daraus, dass die 2313A-PU defekt sind. Oder übersehe ich etwas?
Danke und Groß
Rene
Edit: Ich benutze einen Arduino-UNO als ISP, habe das mit einem Original und einem Clone betestet, identische Ergebnisse
Beim Vergleich der Datenblätter fällt auf: ab Werk steht das Low-Fuse-Byte beim 2313 auf 0x64, beim 2313A jedoch auf 0x62. Folglich läuft Letzterer nur mit 4/8 MHz, er darf also mit maximal 125 kHz angesprochen werden.
Hallo,
vielen Dank für die Tipps. Ich kann ausschliessen, dass ich den verkehrt gesockelt habe, der Punkt für Pin1 ist doch zu auffällig, und ich müsste mich immer vertan haben.
Zu den Taktraten: Ich brenne ja mit dem avrdude, da finde ich keinen Schalter, mit dem ich das beeinflussen kann. Im Boards.txt und der avrdude.conf datei finde ich keine Unterscheidung zwischen den beiden.
Habt ihr einen Tipp, wo ich fündig werden kann?
Das mit dem Oszillator an P5 kann ich mal versuchen, ich habe die Dinger aber als Neu gekauft.
Erst mal Danke an alle, und Nein, ich würde mich nicht als Troll bezeichnen. Lese hier schon lange (mit Pausen) mit, aber zum Frage stellen musste ich mich anmelden.
Und zu den Fotos, der Aufdruck ist recht schwach und ob es was bringt? Die ursprüngliche Frage dazu war ja, zu sehen, ob ich den verpolt eingesetzt habe. Dazu das Bild.
Meine ursprüngliche Frage war ja auch, wenn der eine es tut, sollte dann nicht der andere es im gleichen Setup tun???
BTW: Habe verschiedene Baudraten probiert, immer das gleiche Ergebnis.
Für diesen Fall und vorausgesetzt, es ist im High-Fuse-Byte nicht RSTDISBL gesetzt, könnte ich ein Hilfsprogramm in Form einer Hex-Datei für den (offenbar vorhandenen) ATtiny85 als Master bereitstellen; führt auf dem Zielcontroller ein Chip-Erase aus und setzt das Low-Fuse-Byte auf Werkseinstellung.
Wer nicht viel rumhexen will, nimmt AVRStudio und STK500.
"Meine" AVRs habe ich alle mit ISP Takt 4 k oder noch "langsamer" geflashed. Eine Sekunde länger macht den Kohl nicht fett.
Wenn man den über ISP programmiert, dann läuft in der Zeit kein Programm
das das Prescale-Register ändern könnte.
Doch. Beim Anlegen der Stromversorgung startet das installierte Programm und stellt (optional) den Taktteiler ein.
Wenn danach der Programmiervorgang via ISP mittels Reset startet, läuft die CPU während dessen immer noch mit der eingestellten Taktfrequenz. Die Vorgabe durch die Fuse wird erst beim Verlassen des Programmiervorganges wirksam, also nach der steigenden Flanke des Reset Signals.
Workaround: Verhindern dass das Programm startet, indem man Reset ständig auf GND zieht schon bevor die Stromversorgung angelegt wird. Damit kommt allerdings nicht jeder Programmieradapter zurecht.
Es ist dokumentiert. Wobei ich das auch erst verzögert begriffen habe, als ich die Fuses auf duesen Extremfall einstellte und mein Programmieradapter nicht so langsam takten konnte (ist lang her und wurde vom Hersteller des Programmieradapters behoben, nachdem ich ihm davon berichtete).
Nicht wirklich. Der markierte Text beschreibt in keinster Weise den Sachverhalt, dass das CLKPR-Register erst zum Ende des Resets den dokumentierten Reset-Inhalt bekommt, während des Resets also weiterhin den zuletzt konfigurierten Zustand behält.
Das ist ein zumindest überrschendes Verhalten, denn darin unterscheidet sich dieses Register von den meisten anderen Registern, bei denen der dokumentierte initiale Inhalt zu Beginn des Resets gesetzt wird.