hallo, zum programmieren verwende ich das STK500. habe eine kleine Platine mit einem atmega8 drauf. die platine hat auch eine isp-schnittstelle, die ich dann per flachbandkabel mit dem STK500 verbinde. Getaktet soll der atmega über ein externes Clock-Signal. Wenn ich dann die Fuses so programmiere und anschließend wieder per STK500 z.b. die Signatur lesen will, kommt die Fehlermeldung "ISP Mode Error".. ich habe aber gedacht, zum flashen brauch man das ext.Clock-Signal nicht, da ich doch vom STK500 über das isp-Kabel ein Clock-Signal erhalte!? oder sehe ich da was falsch? mfg
Er bekommt ein Clock Signal, diese hat aber nichts mit der Fuse zu tun. Du müsstest dir nun ne Quarz an die passenden Pins löten. Da mit externer Clock ein externer Takt für den Oszilatir gemeint ist. Wenn der Mega gesockelt ist kannst du den auch ins stk500 einstecken. Das hat soweit ich mich erinner auch nen einstellbare Taktquelle drin. Oder mit HV Programmierung retten.
Hi >ich habe aber gedacht, zum flashen brauch man das ext.Clock-Signal >nicht, da ich doch vom STK500 über das isp-Kabel ein Clock-Signal >erhalte!? >oder sehe ich da was falsch? Ja. Das CLK vom ISP hat nichts mit Controllertakt zu tun. Setze den OSCSEL-Jumper vom STK auf die Linke Position. Dann wir dein Controller vom STK mit dem Takt versorgt. MfG Spess
Frederik Krämer schrieb: > Du müsstest dir nun ne Quarz an die passenden Pins löten Soweit ich weiß ist externer Clock != Quarz (Crystal) es wäre eher richtig einen Quarzoszillator oder eine andere Taktquelle mit Logikpegeln zu verwenden
hallo, leider ist der atmega direkt auf die platine gelötet (TQFP-Gehäuse). Deswegen wird die HV-Programmierung net gehen :( Ich hab den Jumper auf die linke Position umgestellt..tut sich aber auch nix mehr -.- Ist wohl jetzt hinüber..
Behelfsmäßig nen anderen µC nehmen, mit nem Code (sinngemäß) while(1) { PORTD ^= 0xFF; } und dann einen PIN davon an CLOCK hängen, da du dann ein Clock-Signal mit Logikpegeln hast. Nico
http://www.mikrocontroller.net/articles/AVR_Fuses#Reaktivieren_bei_fehlerhaften_Taktquellen-Fuse-Einstellungen Bei TQFP brauchst dann nur noch eine ruhige Hand um den (externen) Takt lange genug sauber draufzuhalten bis der Fuse-umprogrammieren-Job (vorzugsweise automatisch) erledigt worden ist :-) HTH und HF
ok..habe ein zweiten atmega genommen und aufs STK500 gesteckt wo ein Taktsignal ausgibt und habe das Taktsignal über ein Stück Kabel an den XTAL1-Pin gelötet...der macht trotzdem nix mehr! Kommt immer der gleiche Fehler...
bene88 schrieb: > ok..habe ein zweiten atmega genommen wie schnell taktet der? > Kommt immer der gleiche Fehler... Die ISP Geschwindigkeit hast du soweit runtergestellt, wie es nur irgendwie geht?
also in der schleife habe ich ein delay von 3ms reingemacht. die isp-geschwindigkeit habe ich beim STK500 dann auf 1.21kHz eingestellt.
bene88 schrieb: > ein delay von 3ms Der Takt ist zu langsam bzw. der ISP-Takt zu schnell. Der ISP Takt darf höchstens ein Viertel des uC Taktes betragen. Achtung: Falls Du den Pin in 3ms Abstand toggelst gibt das 6ms Periodendauer also etwa 167Hz.
> also in der schleife habe ich ein delay von 3ms reingemacht.
Wozu? Machs analog zu dem was Nico22 schon schrub mit ganz ohne Delays,
das ist auch so schon langsam genug:
1 | while(1) |
2 | PORTD ^= 0xFF; |
hatte mal verschiedene frequenzen ausprobiert..hatte bzw. habe nun wieder kein delay drin...geht aber trotzdem nicht! isp-frequenz ist weiterhin 1,21kHz..der CPU-Takt des funktionierenden atmegas ist 8Mhz
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.