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
>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...).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.