Hallo! Habe eine ganz normale einfache PWM bei einem 80C517A, die aber einen Fehler hat. Ich gebe auf Port 4.7 einen Rechteck aus, der aber immer wieder Lücken drinnen hat, die am Oszilloskop sichtbar sind. Woran kann das liegen? Ich greife nur ein Signal ab... mir kommt es so vor, als ob eine zeitliche Abfolge im Controller die PWM stört! Wisst ihr was das sein könnte? mfg, GeRi
Ich hab es jetzt nicht so mit 8051ern, habe aber etwas Ahnung von C. Wieso rufst du in einer Interrupt-Routine eine Funktion ("print_lcd") auf? Das kostet unnötig Zeit. Dann hast du eine "Mörderberechnung" in einem Printf für einen Wert, den du früher schon berechnet hast. Berechne den Wert, schreibe ihn in eine Variable und schreibe den Wert dieser dann in CM7 etc. Dann ist eine Aktualisierung der Pulsdauer einer PWM mitten im Programm nicht wirklich gut, weil es zu komischen Impulsen kommen kann. Aktualisiere den Vergleichswert am Anfang des Pulses (Interrupt-Routine?). Dann gib erst etwas auf dem Display aus, wenn sich etwas geändert hat (Tastgrad, Zeit, B-Zeit). Die Tasten kannst du konstant einlesen (entprellen nicht vergessen [in der Timer-Routine]). Hat sich dann eine Änderung eingestellt, kann man darauf reagieren. Das war's von meiner Seite erst mal. Gruß Rahul
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.