Hi, ich versuche hier grad verzweifelt bei einem Mega8 die Fuses zu setzen, dass der mit 12 MHz läuft. Habe mitlerweile aber schon 5 Stück geschrottet, und weiß aber nicht warum! Wenn ich das Datenblatt richtig verstehe, muss ich für einen externen Quarz mit 2 Kondensatoren (Keramik, je 22p) die CKSEL0, 1, 2 und 3 setzten sowie SUT1 und evtl. CKOPT, wenn die Schaltung störungsempfindlich ist. Aber sobald ich alle CKSEL setze kann ich den AVR nicht mehr ansprechen. Wenn ich zusätzlich nich SUT oder CKOPT setzt ändert das daran auch nix. Ich stecke den Mega8 zum programieren in eine Schaltung mit extern 4 MHz Quarz + Kondis. Dabei spiele ich zuerst die Firmware auf und setzt dann die Fuses. Danach kommt der Mega in die eigentliche Schaltung (die keine IPS Schnittstelle hat), läuft da aber nicht... Wie muss ich also die Fuses setzen? Ich nutze PonyProg und ein STK200 Adapter von rumli.de.
CKOPT = 0 [v] CKSEL3 = 1 [ ] CKSEL2 = 1 [ ] CKSEL1 = 1 [ ] CKSEL0 = 1 [ ] Eventuell mal die Kondensatoren verändern. (10pF oder ganz raus) Was bedeutet: "Wenn ich zusätzlich nicht SUT oder CKOPT setze ändert das daran auch nix."? Den Satz verstehe ich nicht, weil zweifach verneint.
Was heißt "geschrottet"? "Kondies"? Können wir diesen Kindergarten-Street-Slang mal lassen und uns halbwegs präzise ausdrücken? Laufen die AVRs noch in dem 4 MHz Programmierboard, oder laufen sie schon da nicht? Sind die Lastkondensatoren für den Quarz richtig berechnet oder einfach mal 22pF auf Verdacht genommen? Ansonsten würde ich mich mal um eine qualitätvoller Programmierhardware bemühen. Bei dem AVR-Verbrauch lohnt sich bald ein Dragon. Na ja, und PonyProg ... Schön bunt, aber der Gaul gehört zum Abdecker und Seife raus gemacht.
1 | Was bedeutet: "Wenn ich zusätzlich nicht SUT oder CKOPT setze |
2 | ändert das daran auch nix."? |
Sorry, da war das "nicht" zu viel. Sollte soviel heißen, dass es nichts gebracht hat, die SUT oder CKOPT - Fuse zu setzen. Was meinst du mit dem [v] hinter dem CKOPT? Die Keramikkondensatoren habe ich mit 22pF gewählt, da die zu der Schaltung für die 4 MHz passen (sollten), in der Schaltung mit 12 MHz sind statt dessen 15pF Keramikkondensatoren verbaut (war eine fertige Schaltung, die ich nur nachgebaut habe). Die AVR's führen weder im 4 MHz Programierboard noch in der 12 MHz Schaltung das Program aus. Auch wenn ich den 4 MHz Quarz durch einen mit 12 MHz ersetzte oder ganz rauslasse ändert sich nichts daran. Ich kann auch weder über PonyProg (Alternativen?) noch AVRDude auslesen, mit neuem Code beschreiben, Löschen (Erase) oder die Fuses lesen und neu setzen. Bin schon dabei mir einen USB Programmer zu bauen: http://www.mechaos.de/avr_progusb.php Der Dragon sieht aber auch sehr interessant aus ;-P Habe mitlerweile mal einen funktionierenden AVR mit folgendem Code bespielt *duck*:
1 | #include <avr/io.h> |
2 | #include <util/delay.h> |
3 | |
4 | int main(void) |
5 | {
|
6 | DDRB = (1<<PB1); // PB1 an PORTB als Ausgang setzen |
7 | while(1) |
8 | {
|
9 | PORTB ^= (1 << PB1); |
10 | _delay_ms(3); |
11 | };
|
12 | }
|
Den Pin PB1 hab ich dann an Pin 9 von einem "defekten" Mega8 gehängt. Dieser hat dann wieder angefangen, sein Programm auszuführen - hat ca. 4 - 5 Sekunden gebraucht, bis er es startet - aber ich konnte ihn trotzdem nicht über PonyProg oder AVRDude ansprechen. Ist die entstandene Frequenz einfach nicht stabil genug oder zu schnell? Der funktionierende AVR läuft mit den internen 1 MHz.
Hat zwar schon einer gesagt, aber denk daran bei Ponyprog Fuse gesetzt heißt Häckchen raus und umgekehrt. Ckopt - laß mal weg. Schau mal, ob die Kondies richtig dran sind. 22pF sollte mit 12MHz-Quarzen ok sein, sonst nimm mal 33pF . Und Ponyprog muss nicht zum Abdecker, sondern die Sprachfanatiker.
>Ist die entstandene >Frequenz einfach nicht stabil genug oder zu schnell? Ne, zu LANGSAM !
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.