Hallo Ich habe ein STK500 seit kurzem gekauft und habe einen AT90S2313 eingesetzt. Irgendwie habe ich zuviel rumprobiert und kann jetzt im ISP Modus nicht mehr programmieren. Ich habe die Fuses gesetzt und kann nichts mehr proggen. Irgendwie habe ich das Gefühl, dass die Frequenz nicht stimmt. Kann mir jemand weiterhelfen?
Gibts hier ettliche Threads zu. Dein STK500 kann im HV (HighVoltage) Programmier-Modus den AVR Retten (Fuses zurückstellen) Aber auf die richtige Progammierspannung achten, sonst isser ganz hinüber. /Ernst
Ich weisse leider nicht, wie ich die zurücksetzten soll. Mit dem Parallelmodus aber ich meine, wie muss ich die Häckchen setzen, damit dieser wieder funktionier`?
Erstmal einfach alle wieder auf Auslieferungszustand zurückstellen. Wie der war steht im Datenblatt. /Ernst
Hallo, im ISP Modus kannst Du die Fuses bei einem 90S2313 ja garnicht setzen, also auch nicht verkehrt. Hast Du einen Quarz dran? HTH, ****
Keine Ahnung, ich bin Anfänger! Ich habe diesen MC in das STK500 Board eingesetzt und es funzt nicht. Mit einem Atmega klappt alles gut, denn an diesem habe ich nichts rumgemacht. Ich habe das Gefühl, dass ich den Oszillator faslcht gewäht habe. Keine Ahnung!
@dili, Gefühle sind in der Digitaltechnik immer gut, sie ersparen einem oft das Lesen der Anleitung und Datenblätter. Leider nicht immer. Ich hab leider auch keine Ahnung was Du machst. Gute Nacht
HAHAHAHA Danke! Habe ich nicht gewusst! Wenn ich ein Blinklichtprogramm in einen ATMEGA8 flasche funktioniert alles einwandfrei! Aber wenn ich das in den AT90S2313 flasche funzt nichts! Versteht ihr das Problem?
Ein Programm für nen ATMega 8 läuft natürlich nicht auf nem 90S2313! Das ist ein völlig anderer Controller! Das Programm muss umgeschrieben werden , wenn es in den 2KB-Speicher vom 2313 überhaupt reinpasst. Dann musst Du es für den 2313 neu compilieren. Sonst läuft gar nichts.
LOL das Programmieren geht?? wenn icht kann die ISP Frequenz zu hoch sein an sonsten kannst du kein Programm von einem 90S2313 in einen Mega8 Programmieren oder umgekehrt Gruss
Das Program ist sehr klein. Ich habe es mit AVRStudio Umgebung programmiert. Ich habe einzeln die beiden MC eingesetzt. Den Code habe ich so programmiert, dass er für beider MC passt. PORTB ist Ausgang, mit denen ich die LEDs ein und ausschalte.
>Ich habe es mit AVRStudio Umgebung programmiert
Also in Assembler?
Nein in C, den ich habe die neue Version runtergeladen, wo man den GCC-Compiler benutzen kann.
Dann gehts erst recht nicht. Der Compiler erzeugt doch nen völlig anderen Hex-File! Das kriegste in den Mega8 nicht rein!!!!!! Der Mega hat ne andere Speicheraufteilung. Du musst das Programm für den 2313 neu compilieren und vorher den richtigen Controller auswählen. Sonst fügt der auch die falsche I/O-Lib ein!
Ich hab gestern Abend einen neuen AT90S2313 eingesetzt, siehe da, der funzt auch nicht, obwohl ich nichts an den Fusebits geändert habe. Vorher habe ich mittels Ponyprog über das meistverwendete ISP-Interface programiiert und es klappte immer. Seit ich aber die MC auf dem STK500 Board programmiere funktionieren diese mit Ponyprog auch nicht mehr, Ausser der Atmega8 der geht bei beiden. Komisch oder?
>Ich hab gestern Abend einen neuen AT90S2313 eingesetzt, siehe da, der >funzt auch nicht, obwohl ich nichts an den Fusebits geändert habe. Was heisst "funzt nicht" Du kannst nicht auf den Controller zugreifen? Oder dein Programm funktioniert nicht? <- Woran machst du das fest? Quelltext? >Vorher habe ich mittels Ponyprog über das meistverwendete ISP-Interface >programiiert und es klappte immer. Was ist das meistverwendete Interface??? >Seit ich aber die MC auf dem STK500 Board programmiere funktionieren >diese mit Ponyprog auch nicht mehr, Nochmal was heist funktionieren? >Ausser der Atmega8 der geht bei beiden. analog... Hast du überhaupt schonmal in die Datenblätter und die Hilfe zum STK500 reingeschaut? Wenn nicht tu es. Der Hauptunterschied zwischen atmega8 und at90s2313 ist das der atmega8 einen internen Oszillator hat. d.h. wenn der aktiv ist funktioniert er auch ohne das ein Takt anliegt. der at90s2313 braucht einen externen Takt. Kann es sein das du diesen abgeschaltet hast?
Das Ist mein Code #include <avr/io.h> //Zugriff auf IO's des Controllers #include <avr/simple_delayroutinen.c> int main (void) { DDRB = 0xff; //PB0...PB7 als Ausgänge definieren DDRD=0x00; for (;;) //Endlosschleife unsigned short x=0; unsigned int keys; keys=~PIND; PORTB=0xff; if(keys & 0x01){ for(x=0;x<4;x++){ PORTB=0xfe; delay_ms (900); //warte } } if(keys & 0x02){ for(x=0;x<4;x++){ PORTB = 0xfd; delay_ms (900); } } } }
Angehängt findest du die Einstellungen die ich gemacht habe einmal im ISP-Modus 2tes mal Parallal/High Voltage Serial Wenn ich den oben angegebenen Code in ATMEGA8 hineinprogrammiere (STK500), dann leuchteten die esrten 2 LED (PORTB) auf, wenn ich die Tasten vom PORTD drücke. Also=> Das ist OK!! Aber wenn ich das gleiche mit einem AT90S2313 oder AT90S8115 machen will, geht nur die erste LED auf, obwohl ich nichts drücke. Wenn ich anstatt STK500 das ISP-Interface nehme, dann funktioniert das mit dem ATMEGA( immer noch. Den AT90S2313 & AT90S8115 kann ich damit auch nicht proggen¨ Ist das Problem nun klar??
Wenn Du auf Deinem STK500 den On-Board-Oszillator deaktiviert hast (Jumper) und auch keinen Quarz eingesetzt hast, dann kann der 90SXXXX nicht funktionieren!
DANKE!!!! Ich werde heute Abend nochmals dies anschauen, und hoffe, dass das das Problem ist! Ein Quarz ist drin. Den Jumper habe ich zw. 2 und 3 gesetzt, half aber auch nicht.
Übrigens wie kann man den den On-Board-Oszillator aktivieren resp. deaktivieren. Das geht doch nur mit den Junper oder? Softwaremässig kann das nicht gemacht werden oder? Noch was: Wenn ich im ISP Modus unter Einstellungen des STK500 Fuses oder Lockbits wähle kommt bei den ATS... immer diese Fehlmeldung. Beim ATMEGA 8 jedoch nicht! Könnte das auch ein Grund sein, wieso es nicht richtig funktioniert?
Die Jumper habe ich kontrolliert, an liegts leider nicht. Kann es sein, dass ich die Fusebits oder Lockbits im Parallemodus falsch gesetzt habe? Weiter oben habe ich eine Word-Datei angehängt, wo die einzelnen Einstellungen ersichtlich sind. Kann mir jemand weiterhelfen?
Welche Fehlermeldung ist denn "diese Fehlermeldung" ? Lässt sich die Signatur auslesen ?
Ja aber nur manchmal, kann ich die Signatur nicht auslesen.
Er meckert immer mit einer Fehlermeldung bez. der Spannung. Ich bin zurzeit nicht daheim, deswegen kann ich erst heute Abend den genauen Fahler mit PrintScreen erfassen und dann ins Netz legen. Danke!
Im Anhang ist die Fehlermeldung zu entnehmen! Ich habe nun einen neuen AT90S2313 genommen und versucht diesen mit diesem Code zu programmieren: #include <avr/io.h> //Zugriff auf IO's des Controllers void delayxy(int c){ int x; for(c=0;c<4000;c++) for(x=0;x<10;x++); } int main (void) { DDRB = 0xff //PB0...PB7 als Ausgänge definieren DDRD=0x00; for (;;) { //Endlosschleife unsigned short x=0; unsigned int keys; keys=~PIND; PORTB=0xff; if(keys & 0x01){ for(x=0;x<4;x++){ PORTB=0xfe; delayxy(10); } } if(keys & 0x02){ for(x=0;x<4;x++){ PORTB = 0xfd; delayxy(10); } } if(keys & 0x04){ for(x=0;x<4;x++){ PORTB = 0xfb; delayxy(100); } } } Beim ATMEGA8 funktioniert das, nämlich wenn ich am PORTD PIN0 od PIN1 oder PIN2 den Taser betätige, so leuchtet am PORTB die LED. Wenn ich aber den gleic^hen Code in einen AT90S2313 hineinflashe so leuchtet am PORTB die LED 1 auf und nichts passiert, obwohl ich die Tasten drücke. Ich habe am die Frequenz mit einem KO am EIngangspin der MC gemessen und die stimmt. Kann mir jemand weiterhelfen?
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.