Hast Du schon überprüft ob der mega wirklich mit 8MHz läuft? (einfacher 1Hz LED-Blinker).
Ich frage mich grade warum du die LED überhaupt mit einem PWM ansteuerst? Könnte man den Pin nicht als IO benutzen, wenn es die Anwendung zu lässt ... ansosnten könnte es am Takt des mega liegen -> prüfen mit Blinker.
Ich bin der Meinung das kein flackern wahrnehmbar sein sollte.
Ach so, wollte ich vorhin ja schon sagen: Die for-next Schleifen sind hier vermutlich so auch überflüssig. Wenn ich es richtig sehe gibst du doch den Servowert in der ISR an...wozu zählen die Schleifen da auch noch was mit - wenn ich so drüber nachdenke .... das wird das zittern verursachen, weil es auch einfach keinen Sinn macht die Ausgabepins von 0 - 100 hoch zu zählen, zumal der mega8 effektiv nur 23 Pins hat, und sicher nicht alle davon für dich in frage kommen![]()
Und bei mir sieht der Befehl für Portb.0 so aus : Pulseout Portb, 0, wert. Warum das bei dir anders ist kann ich nicht sagen, ob falsch ist natürlich auch nicht. Aber die Hilfe sagt was anderes als bei dir steht.
Auch ist ein Long etwas sehr überdimensioniert, hier tut es ein Word. Denn du hast sicher niemals einen Wert über 65535.
Ich kenne das Eva-Board nicht und weiß auch nicht wie die Spannung aussieht die Du da benutzt. Wenn es aber mit der Single-Version läuft, dann könntest du den Tipp von hbquax als erstes versuchen umzusetzen. Wenn das Problem dann weiterhin auftritt, hast Du wahrscheinlich einen Spannungseinbruch - vielleicht auch mit unbemerktem reset des µC- das kann auch das zittern auslösen.
Und nun lass uns nochmal über etwas grundsätzliches kurz sprechen: Es macht keinen Sinn ein Programm zu posten, das aber nicht den Fehler produziert - denn einen Servo Befehl sehe ich hier nicht. Und auch einen Programmteil einfach wieder rein zu schreiben - womöglich ohne es erneut zu testen, macht wenig Sinn.
Viele Grüße
Jörg
Lesezeichen