S-RAM zu langsam?

Gast #143406
Lesenswert?
• ▲
▼
Hi.

Hab jetzt mal was getestet. Wollte ein Programm mit 8 PWM Ausgängen
machen, wo jede seperat ein und ausdimmt. Da gehen ja schon viel
Register drauf...

Habe es jetzt mal mit 2 temp register probiert, wo ich einfach jeden
pwm wert und sonstige Sachen abspeichere. Bei jeder Änderung, lade ich
mir das gewünschte Bit aus dem S-RAM und verändere ihn, und zuletzt
speichere ich ihn wieder. Und das mit 2 Registern.

Ist zwar sehr Registersparend, aber das Programm geht voll in die
Knie.

Ist der S-RAM so langsam beim laden und schreiben?
Gast #143408
Lesenswert?
• ▲
▼
Naja, in jeder Timer-ISR 8 Bytes aus SRAM holen und wieder
zurückspeichern, das läppert sich zusammen. - Falls das Programm
überhaupt in der Timer-ISR läuft. Vielleicht solltest du woanders
optimieren, damit du die 8 Sollwerte in den unteren Registern lassen
kannst.

...
Gast #143410
Lesenswert?
• ▲
▼
Das ist korrekt. Er schreibt aber, dass er die Bits (ich denke er meint
die Bytes) ins SRAM zurückspeichert.

Aber ohne Code ist das alles Spekulation, auch wenn ich Teile des
Ausgangscodes kenne.

Beste Grüße,
...HamnneS...
Gast #143412
Lesenswert?
• ▲
▼
Leider ohne Timer... Das mit dem Timer, das raff ich noch nicht ganz...
Muss erst ein gutes Beispiel finden... Hier das ewig lange
Programm....

Natürlich hätte man es 1000mal einfacher machen können, aber jeder
fängt mal an. Beim nächstenmal gehts bestimmt besser beim schreiben.
Angehängte Dateien:
#143413
Lesenswert?
• ▲
▼
Für eine 8Kanal 8Bit PWM brauchst Du 9 Register, da bleiben also noch 23
Register übrig.

Ein Register zählt runter und schaltet alle Eingänge beim Nulldurchgang
aus, die anderen 8 zählen auch runter und schalten beim Nulldurchgang
den jeweiligen Pin ein. D.h. die Zähldifferenz entspricht dann dem
PWM-Wert.


Peter
Gast #143414
Lesenswert?
• ▲
▼
Hallo Peter.

Stimmt, aber ich machs ja nicht über den Timer, sondern über eine
normale Pause. Da braucht man noch 2 Register.

Dann brauch ich noch ein Register zum Bit setzen(Wenn FF oder 00
erreich ist, um wieder ein oder auszudimmen)

Dann brauch ich noch 2 Register, um entweder FF(-1) oder 01(+1)
dazuzuzählen.

Vielleicht denk ich ein bisschen kompliziert. Aber 2 oder 9 Register
sind ein großer Unterschied.


Gruß Avus

Antwort schreiben

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.

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.