Forum: Mikrocontroller und Digitale Elektronik Als Antwort kommt nur "\nBoot"


von Johannes (Gast)


Lesenswert?

Hallo,

ich versuche einen Datenlogger mit einem ATmega 8A aufzubauen. Ich habe 
mir den Beitrag durchgelesen und den Source-Code angeschaut. Sehr 
hilfreich, danke!

Das Beispiel ist mit einem ATmega 8

http://www.mikrocontroller.net/articles/AVR_FAT32#Der_Status

Schaltung aufgebaut wie im Beispiel. Ich habe allerdings einige Probleme 
mit dem Code:

Zunächst hatte ich Probleme mit den Timer-Registern, die haben im Code 
andere Bezeichnungen als im Datenblatt des ATmega 8 und des 8A. Die habe 
ich entsprechend des AVR-Datenblattes angepasst.

Original:

static void timer0_init(){

  TimingDelay = 0;  // initialisierung der zaehl variable

  TCCR0A = 1<<WGM01;     // timer0 im ctc mode
  TIMSK0 = 1<<OCIE0A;    // compare interrupt an

  TCNT0 = START_TCNT;    // ab wo hochgezaehlt wird,
  OCR0A = TOP_OCR;  // maximum bis wo gezaehlt wird bevor compare match

  TCCR0B = PRESCALER;// wenn prescaler gesetzt wird, lauft timer los
  sei();    // interrupts anschalten, wegen compare match
}

Angepasst:

static void timer0_init(){

  TimingDelay = 0;  // initialisierung der zaehl variable

  TCCR1A = (1<<WGM12);     // timer0 im ctc mode
  TIMSK = (1<<OCIE1A);    // compare interrupt an

  TCNT0 = START_TCNT;    // ab wo hochgezaehlt wird,
  OCR1A = TOP_OCR;// maximum bis wo gezaehlt wird bevor compare match

  TCCR1B = PRESCALER;// wenn prescaler gesetzt wird, lauft timer los
  sei();    // interrupts anschalten, wegen compare match
}

Dann bin ich noch total erstaunt, dass der uC mir nur über eine Baudrate 
von 600 antwortet, im Quelltext steht doch 9600 ?!? hatte jmd das selbe 
Problem?

"// Wenn auf dem terminal "Boot... OK" zu lesen ist, ist Init OK."

Und ich bekomme immer nur "\nBoot" als Antwort, das aber in regelmäßigen 
Abständen. Woran kann das liegen, bei euch funktionierts doch überall, 
ich habe ja am Quelltext quasi nichts verändert. Hatte es mit drei 
verschiedenen SD-Karten probiert, alle standartformatiert, immer mit dem 
gleichen Ergebnis.

Hat jmd von euch Erfahrungen mit dem Source-Code "AVR Version 0.6.4" vom 
oben Beschriebenen Link?

Ich danke euch im Voraus für eure Antworten.

Grüße

Johannes

von Peter II (Gast)


Lesenswert?

Johannes schrieb:
> Dann bin ich noch total erstaunt, dass der uC mir nur über eine Baudrate
> von 600 antwortet, im Quelltext steht doch 9600 ?!? hatte jmd das selbe
> Problem?

na wenn das kein Zufall ist 9600 / 600 = 16

vermutlich einfach nur ein falscher F_CPU gesetzt.

von Holger L. (max5v)


Lesenswert?

Du hast schonmal den Timer falsch angepasst.

Johannes schrieb:
> TCCR1A = (1<<WGM12);     // timer0 im ctc mode

WGM12 steht in TCCR1B,

TCCR1A ist Timer/Counter 1

Johannes schrieb:
> TCNT0 = START_TCNT;    // ab wo hochgezaehlt wird,

ist das Register für Timer/Counter 0.

von Julian W. (julian-w) Benutzerseite


Lesenswert?

falsches Forum...

von Johannes (Gast)


Lesenswert?

Ja das war eigendlich eine Antwort in einem anderen Beitrag. Kann hier 
gelöscht werden. War ein Fehler von mir, sry.

Ist parallel bei Daniel R. im FAT32 Beitrag gestellt.

Beitrag "Re: MMC SD library FAT16 FAT32 read write"

Aber trotzdem schon mal vielen Dank für eure Antworten!

Ihr dürft im Beitrag siehe Link gerne weiter antworten, thx.

Gruß

Johannes

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.