mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Clock vom µC bestimmen


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

Bewertung
0 lesenswert
nicht lesenswert
.include "usb1287def.inc"

    ldi R16, $FF
    out DDRD, R16

loop:  cbi PORTD, 0
    sbi PORTD, 0
    cbi PORTD, 0
    sbi PORTD, 0
    cbi PORTD, 0
    sbi PORTD, 0
    cbi PORTD, 0
    sbi PORTD, 0
  rjmp loop

Hallo!
Da ich Probleme mit meiner UART habe:
Ich denke ich habe einen externen Quarz (8MHz) auf dem STK525 als CLK.
Doch wenn ich mit diesem Takt meine Baud Rate bestimme oder aus dem
Datenblatt entnehme sendet die UART nur Müll. Habe herausgefunden, dass
alles wunderbar funktioniert, wenn ich einen Takt von 1MHz zur
Berechnung der Baud Rate annehme.
Bei den Fuses ist folgende aktiviert:
Ext.Crystal Osc.; Frequency 8.0- MHz; Start-up time: 258 CK + 65ms;
[CKSEL=1110 SUT=01]

Deshalb möchte ich mit dem oben stehenden Code meine Taktfrequenz
ermittelnermitteln. Habe mit dem Oszilloskop für die Taktdauer und die
Taktpause jeweils 2µs gemessen. (Die Taktdauer bei der er die Schleife
aufruft ist 4µs)
Kann ich jetzt einfach annehmen, dass ein Assemblerschritt einem Takt
entspricht?
(Hab noch nie Assembler programmiert...Bin erst seit gestern dabei)

Vielen Dank für die Hilfe.

Anbei noch der Code mit dem ich über die UART ein hochlaufendes
Register senden möchte

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
je nach Befehl dauert es 1 oder 2 Takte, das steht im Datenblatt. Aber
die set/reset dürften nur einen Takt brauchen
bei Sprungbefehlen kommts darauf an, ob ein Sprung stattfindet, dann
dauerts einen TAkt länger. Der rjmp loop dürfte 2 Takte dauern

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich denke ich habe einen externen Quarz (8MHz) auf dem STK525 als
> CLK.

Was genau heißt "Ich denke..."?

> Habe herausgefunden, dass alles wunderbar funktioniert, wenn ich
> einen Takt von 1MHz zur Berechnung der Baud Rate annehme.

Dann wird dein µC wohl mit 1 Mhz laufen.

> Bei den Fuses ist folgende aktiviert:
> Ext.Crystal Osc.; Frequency 8.0- MHz; Start-up time: 258 CK +
> 65ms;
> [CKSEL=1110 SUT=01]

CKDIV8-Fuse?

> Kann ich jetzt einfach annehmen, dass ein Assemblerschritt einem
> Takt entspricht?
 (Hab noch nie Assembler programmiert...Bin erst seit gestern dabei)

Kommt drauf an, was du mit "Assemblerschritt" meinst. Im Datenblatt
steht für jeden Befehl, wieviele Taktzyklen er braucht. sbi und cbi
benötigen beispielsweise jeweils zwei Taktzyklen. Also läuft dein µC
definitiv mit 1 Mhz.

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab in der Hilfe nachgeschaut. SBI benötigt 2 Takte. Damit komme ich
dann ja auch wieder auf meinen CLK von 1MHz.
Aber warum 1MHz? Ich habe doch bei den Fuses angegeben, dass er den
externen 8MHz Quarz nehmen soll. Habe den Quarz auch nachgemessen.
Genau 8MHz. Am Eingang XTAL1 vom AT90USB1287 liegen auch 8MHz.
Habe die Jumper die den CLK vom STK500 übernehmen würden offen. Andere
Jumper (für CLK) habe ich auf dem STK525 nicht gefunden.
Muss ich da noch irgendwas in den Fuses umstellen?
Bitte helft mir. Sitze da schon den ganzen Tag dran und verzweifle
bald.

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, danke das mit dem CLK hat sich erledeigt. Bin eben noch mal genau
die Fuses durchgegangen und habe gesehen, dass eine aktiviert war, die
meinen außen anliegenden Takt durch 8 teilt...

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie fühle ich mich übergangen :-(

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rolf: Jetzt steh ich ja doof da... Aber Deine Antworten wurden bei mir
noch nicht angezeigt als ich das geschrieben habe. Aber vielen Dank für
Deine Hilfe

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.