Deswgen schrieb ich: als Code formatieren. Beim Editor auf erweitert und dann Code einfügen.
Ahnte ich. Der CCs Compiler ist manchmal ein wenig am C-Standard vorbei, oder wars früher. Das kann schon mal wichtig sein.Wie dem auch sei, die Funktion wird im CCS Compiler verwendet
Diese Zeit muß nicht konstant sein. Je nachdem, wie schlau der Compiler ist, wird er mehr oder weniger Werte retten, abhängig von deinem Code. Du müsstest also nach jeder Codeänderung neu bestimmen, wie lange die Interruptpräambel dauert. Und sobald du in der Mainloop etwas tust und dabei auch Befehle vorkommen, die zwei Zyklen dauern, geht es auch mal schneller oder langsamer. Und zu guter Letzt: 100 Befehle zwischen zwei Interrupten sind zuwenig.Dann muss ich jetzt nur zusehen wie ich die Zeit am besten messe die für die Abarbeitung etc. benötigt wird und dann bei der Berechnung mit berücksichtigen.
50kHz für eine Softpwm sind für deinen Prozessor zu schnell. Machs lansamer, benutze die eingebaute Hardware (deswegen gibts die) oder nimm einen wesentlich schnelleren Prozessor.
MfG Klebwax
Lesezeichen