Hi, auch auf die Gefahr hin, dass ihr diesen Beitrag hier zerreist, wollte ich nochmal sicher gehen, ob ich mit den im Screenshot gezeigten Bildern meinen Atmega 128 mit externen 14,xxx Takt und meinen AVR-JTAG ICE mk2 bespielen darf? Ich bin mir total unsicher, ist das erste Mal für mich :-)
Hi, wenns nen Quarz ist, würde ich noch CKOPT setzen. Falls kein Quarz, ist die Fuse Einstellung Mist. Verrätst du uns deine externe Taktquelle ? Gruß
Bei M103C machst du noch ein Häkchen rein. Ansonsten schmiert dir der µC sofort beim ersten Funktionsaufruf ab.
Also ich habe die Einstellungen nun verbessert. Kann ich es jetzt riskieren?
So nun wollte ich es aufspulen und habe die Meldung erhalten, dass mein EEPROM-File leer ist und ob ich eines Auswählen möchte. Ich habe nein angeklickt und bekomme folgende Meldung: "JTAGICE MkII error programming EEPROM" ----- Nun habe ich HTerm heruntergeladen und mein Testprogramm sieht im Main-Teil so aus: while (1) { printf("TEST, "); }; Wenn ich nun den HTerm mit meinen Einstellungen öffne, erhalte ich die Ausgabe aus dem Screenshot. Was mache ich falsch?
>Bei M103C machst du noch ein Häkchen rein. >Ansonsten schmiert dir der µC sofort beim ersten Funktionsaufruf ab. Besser wegmachen das Häkchen. Anklicken bedeutet auf 0 setzen.
holger schrieb: >>Bei M103C machst du noch ein Häkchen rein. >>Ansonsten schmiert dir der µC sofort beim ersten Funktionsaufruf ab. > > Besser wegmachen das Häkchen. Anklicken bedeutet auf 0 setzen. Bist du sicher? Ist immer wieder das leidige Thema: Ist ein Häkchen nun eine 0 oder eine 1 und entspricht die angezeigte 0 auch einer 0 im Datenblatt. Ich hab mich daran orientiert, dass sie mit einiger Sicherheit diese Fuse nicht angerührt hat. Im Defaultzustand war da der Text "M103C=0" zu lesen und laut Datenblatt ist 0 programmed, also eingeschaltet.
Stephanie schrieb: > Was mache ich falsch? Wahrscheinlich vieles. Dein Hauptfehler ist, dass du ein wenig zu viel verlangst. Bis du über eine Serielle Schnittstelle sauber empfangen kannst, müssen noch ein paar wichtige Einstellungen gemacht werden. Daher ist auch das "Hello World" der µC Szene ganz einfach nur eine blinkende LED. Die Vorübung dazu ist: Ein Programm welches eine LED einschaltet, das nächste Programm schaltet die LED gezielt aus und das dritte Programm lässt sie blinken.
Na ja, immerhin schickt das Teil schon mal was zum PC. Baudrate wird halt falsch sein. Da kann man mit anderen probieren, oder das Manual sorgfältig durchlesen und schauen wie die Serielle bei printf konfiguriert wird. Grüße
An der Baudrate kann's nicht liegen, die müsste richtig eingestellt sein: // USART0 initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART0 Receiver: Off // USART0 Transmitter: On // USART0 Mode: Asynchronous // USART0 Baud Rate: 115200 UCSR0A=0x00; UCSR0B=0x08; UCSR0C=0x06; UBRR0H=0x00; UBRR0L=0x07; Und ich habe die stdio.h eingebunden und nach dem Codevisionmanual ist dadurch die printf-Funktion definiert. Sonst noch einen Tipp?
>>An der Baudrate kann's nicht liegen, die müsste richtig eingestellt >>sein: Wär ich nicht so sicher, läuft das Teil überhaupt mit dem externen Oszillator oder doch mit internem ? Wenn man 0x55 oder 0xAA auf der Schnittstelle ausgibt kann man mit dem Oszi (wenn man eins hat)gut die Baudrate messen. Grüße
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.