
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo miteinander Ein höherer PWM-Takt ist realisierbar, indem einfach der Vorteiler (Prescaler) vom TIM auf einen anderen Wert gesetzt wird. Dadurch wird allerdings der TIMER-Interrupt des Betriebssystems haeufiger aufgerufen. Das heißt u.a. PAUSE und die Uhr arbeiten schneller. Hier der Code in OCBASIC: DEFINE TSC IVAR [161] ' TIM Status and Control Register ' Der 'TIM Clock Source' wird vom internen Bustakt abgeleitet. Ein Prescaler ' legt fest, in welchem Frequenzverhaeltnis die beiden Takte stehen. Der ' Bustakt ist bei der OM standardmaessig 3.2 MHz. Der TIM-Takt kann 50 kHz ' bis 3.2 MHz betragen. Dieser TIM-Takt wird mittels Modulo-Register durch ' 1000 geteilt und ergibt den TIMER-, bzw. PWM-Takt. Standardmaessig liegt ' er bei 50 Hz. Die TIMER-Variable der OM wird deshalb alle 20 ms erhoeht. ' TIM Clock Source = 3.2E6 / 2^N ' N = 4*PS2 + 2*PS1 + PS0; N<>7 ' +---PS2 ' |+--PS1 ' TOIE-+ ||+-PS0 ' | ||| TSC=&b01000110 '50 Hz TIMER- und PWM-Takt TSC=&b01000101 '100 Hz TSC=&b01000100 '200 Hz Durch Aendern des Modulo-Registers sind TSC=&b01000011 '400 Hz auch hoehere PWM-Takte realisierbar. TSC=&b01000010 '800 Hz Dazu waere aber eine Anpassung des PWM- TSC=&b01000001 '1600 Hz Moduls erforderlich und der TOFL-Interrupt TSC=&b01000000 '3200 Hz sollte deaktiviert werden (TOIE=0). Viele Grüße Dietmar Meine Homepage: http://ccintern.dharlos.de |
| Antwort schreiben |