mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fusebits Atmega128 Codevision


Autor: Stephanie (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Stephanie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ist ein 14,745MHz Quarz.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

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

Autor: Stephanie (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe die Einstellungen nun verbessert.
Kann ich es jetzt riskieren?

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JA

Autor: Stephanie (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gebhard Raich (geb)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stephanie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Gebhard Raich (geb)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.