Forum: Mikrocontroller und Digitale Elektronik Fusebits Atmega128 Codevision


von Stephanie (Gast)


Angehängte Dateien:

Lesenswert?

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 :-)

von Jean P. (fubu1000)


Lesenswert?

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ß

von Stephanie (Gast)


Lesenswert?

Ja, ist ein 14,745MHz Quarz.

von Karl H. (kbuchegg)


Lesenswert?

Bei M103C machst du noch ein Häkchen rein.
Ansonsten schmiert dir der µC sofort beim ersten Funktionsaufruf ab.

von Stephanie (Gast)


Angehängte Dateien:

Lesenswert?

Also ich habe die Einstellungen nun verbessert.
Kann ich es jetzt riskieren?

von Jean P. (fubu1000)


Lesenswert?

JA

von Stephanie (Gast)


Angehängte Dateien:

Lesenswert?

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?

von holger (Gast)


Lesenswert?

>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.

von Karl H. (kbuchegg)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

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.

von Gebhard R. (Firma: Raich Gerätebau & Entwicklung) (geb)


Lesenswert?

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

von Stephanie (Gast)


Lesenswert?

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?

von Gebhard R. (Firma: Raich Gerätebau & Entwicklung) (geb)


Lesenswert?

>>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
Noch kein Account? Hier anmelden.