32 Register die 'ge"popt / -pusht werdenZitat von Marco78
Das SREG wird in ein Register geschoben und ebenfalls auf den Stack geschickt.
Macht:
33 pop (2 Takte)
33 push (2 Takte)
1 in (1 Takt)
1 out (1 Takt)
macht 66 * 2 Takte + 2 Takte = 134 Takte ...
Wenn man dabei bedenkt, dass man bei einer Software PWM möglichst ohne Prescaler arbeitet ist das für einen 8 Bit Timer sehr viel Zeit. (Takt / PWM Auflösung / Timerzählschritte -> 16 MHz / 256 / 256 ~ 244 Hz ...).
und das nur um in einer ISR zu sein ....
Sicher kann man dieses in Bascom abschalten nur sollte man dann wirklich wissen was man tut
Nur zum Vergleich: die letzte Software PWM die ich geschrieben hab benötigt ca 80 Takte insgesamt
Das ganze mit 16 Kanälen und 500Hz Refreshrate. Möglich wären auch mehr ... nur soll der µC nebenbei noch was anderes tun ausser LED's ein und auszuschalten.
Allerdings muss ich der Fairnesshalber sagen, das diese eben nur von 0 - 254 regelbar ist (also nicht 100%ige 8 Bit Auflösung sondern eben nur 2^8 - 1 mögliche Zustände).
Nuja, wenn man das ganze über mehrere Controller verteilt ist das sicher kein Problem. Mit nur einem dürfte es nicht funktionieren.Zitat von Marco78
Nachtrag: Ich will hier definitiv nicht gegen Hochsprachen hetzen. Ich möchte nur auf mögliche Fallstricke der vom Treadersteller favorisierten hinweisen. Sollte dieses dennoch so rübergekommen sein bitte ich hiermit um Entschuldigung.
Grüße,
da Hanni.
Lesezeichen