Schleife/SPI Konfig/Taktfreq

Gast #349078
Hallo!

Ich möchte gern eine PWM Ausgabe über ein Schieberegister realisieren.
Zunächst reicht es mir aus, wenn alle 8 Ausgänge mit dem gleichen PWM
Signal angesteuert werden. Dazu verwende ich zwei Makros zum Ausgeben
der Zustände ON und OFF über das SPI Interface, die ich über Schleifen
entsprechend zeitlich einstellen will.

Bei folgender Schleife zur Zeitverzögerung habe ich ein Problem,
da nicht nach 3 Durchläufen, wenn das Z Bit eigentlich gesetzt
werden würde, aus der Schleife herrausgesprungen wird.
Hat dafür vielleicht jemand eine Erklärung?

CLR R17
zaehl1:
  LDI R17, 0b00000011
  ON
  DEC R17
  BRNE zaehl1

Mit den folgenden Zeilen möchte ich das SPI Interface meines ATMega16
konfigurieren:

LDI mp, 0b01110000 ;
OUT SPCR, mp ;SPI Control Register
LDI mp, 0b00000001
OUT SPSR, mp ; SPI Status Register

Was ich nicht ganz nachvollziehen kann, ist das bereits nach der
Ausführung der 4. Zeile davon der Data Ausgang des SPI Interface
(PB5) auf High geht... Im SPI Status Register möchte lediglich Bit 0
setzen um die maximale SCK Frequenz von fsck=fosc/2 einzustellen.

Ich habe noch eine weitere Frage zum AtMega16 in Verbindung mit
einem STK500. Kann ich auch irgendwie eine höhere Oszillatorfrequenz
als 3.868MHz einstellen? Denn in den Board Options ist dies die höchste
vorgegebene einstellbare Freuqenz...

Vielen Dank,

Gruß Matze
Angehängte Dateien:
Gast
>Kann ich auch irgendwie eine höhere Oszillatorfrequenz als 3.868MHz
>einstellen?

Nur mit einem externen Quarz (-Oszillator).

Zum Programmproblem kann ich nichts sagen (keine Ahnung von ASM...).

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.