
Zitat von
for_ro
Hallo Thomas,
Ich würde das auch so sehen, dass wenn es funktioniert es doch ok ist.
Wenn du beim nächsten Mal etwas verbessern möchtest, dann würde ich das gar nicht mal so sehr in deinen IF-Abfragen sehen, obwohl die Variante von Kampi sicherlich besser zu lesen ist.
Vielmehr würde ich die SoftPWM mal überdenken.
Dein µC läuft mit 9,6MHz, dein Timer ist 8-bit, läuft also 9.600.000 / 256 = 37500 mal pro Sekunde über. Das ist viel mehr als nötig. Es führt dazu, dass dein µC fast nichts anderes mehr tut, als andauernd die ISR aufzurufen. Hätte er jetzt noch andere Aufgaben, würde dies sicherlich schiefgehen.
Ich bin sicher, dass du für den Timer einen Prescaler von 8 oder 64 angeben könntest, ohne die Funktion zu verschlechtern. Dann müsstest du allerdings auch den Div-Wert von 10000 entsprechend auf 1250 bzw. 160 ändern.
Damit würde dein µC auf einen Schlag nur noch etwa 1% seiner Leistung in die PWM stecken.
Vielleicht probierst du es mal aus.
Lesezeichen