Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Harald, > > > Die Zeit mit dem PWM-Ausgang (CC-Timer) der Unit erzeugen, aber nur einen einzelnen Impuls dieser > > Länge ausgeben. > > > > Das Problem: > > > > Die PWM lässt sich vom C-Programm nicht mehr steuern, wenn sie mal läuft. D.h., wenn man z.B. eine > > While-Schleife einfügt, die die Werte in den Compare-Registern inkrementiert, passiert garnichts - die > > PWM läuft mit dem vormals eingestellten Tastverältnis einfach weiter. > > Bei dem C-Programm handelt es sich um eine Funktion, die von C2 aus aufgerufen wird. > > (system.cal...) > > > > Ist das Problem irgendwie bekannt? > > Welches Problem ? > Ich glaube Du verstehst den Sinn eines PWM-Ausgangs falsch. > Er dient nicht zur Ausgabe einzelner Impulse, sondern dazu ein Pulsweitenmoduliertes Signal > mit einer bestimmten Frequenz auszugeben. > > Du willst jedoch nur einen einzelnen Impuls ausgeben. > > Das einfachste wäre, wenn Du eine Interruptroutine an den 1ms Timer-Interrupt hängst, die > bei jedem Aufruf einen Zählerwert dekrementiert, bis 0 erreicht ist. > Während der Zählerwert ungleich 0 ist, wird ein beliebiger Port auf high gesetzt. > Sobald der Wert 0 erreicht ist, wird der Port auf Low gesetzt. > > MfG André H.