Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: PWM - verschiedene Probleme Kategorie: Progr. Assembler, TaskingTools, OS (von Harald - 12.11.2004 9:25)
Als Antwort auf Re: PWM - verschiedene Probleme von André H. - 11.11.2004 16:53
Ich nutze:
C164CI-ControllerBoard, original OS
Hallo André,

vielen Dank für Deine Antwort.

> Welches Problem ?

Das Problem ist im Moment auch weniger der Einzelimpuls, sondern vielmehr die Tatsache,
da� ich an den Werten der PWM überhaupt nichts mehr ändern kann, wenn sie mal läuft,
ich kann auch das Tastverhältnis nicht mehr verändern.

Leider hängt der PC, auf dem sich das Programm befindet, nicht am Netz, hat nur ein CD-ROM
und der USB-Port ist defekt. Daher veruche ich jetzt mal, das Programm
als Pseudocode aus dem Kopf zu wiederzugeben, ich versuche aber trotzdem, es noch irgendwie ranzuschaffen:
(Wie gesagt, es geht im Moment erst mal nur darum, wie ich die Werte der PWM ändern kann)


Steuerungsregister für PWM einstellen
Vergleichsregister = 0x8888
Timer starten (TRx =1)
int i = 0xFFFF

/* Ab hier wird das Programm nun anscheinend nicht weiter abgearbeitet */

while (i > 0)
{
Vergleichsregister = i
i = i - 1
}
Timer anhalten (TRx = 0)


> Ich glaube Du verstehst den Sinn eines PWM-Ausgangs falsch.

Ist mir durchaus klar, wozu man eine PWM normalerweise benutzt. Dies sollte auch eine Art
"Workaround" werden.

> Du willst jedoch nur einen einzelnen Impuls ausgeben.

Letztlich, ja.
 
> 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.

Hmm... ...so was ähnliches hab ich mit der PWM versucht. Ich wollte den Reload-Interrupt des Compartimers nutzen.
Hier gab es allerdings das Problem, da� gar nichts mehr ausgeführt wurde, sobald ich die Interruptroutine
im Programm hatte. (Mit "gar nichts" meine ich, daÃ? ich am PWM-Ausgang nichts mehr messen konnte...)
Ich werde jetzt versuchen, den Quellcode irgendwie beizutreiben. Das mit dem !ms-Interrupt verfolge ich mal weiter.

GruÃ?,
Harald

> MfG André H.
>


    Antwort schreiben


Antworten: