Gleichzeitige Erzeugung von Frequenz und PWM Kategorie: CC-Pro Unit & Appl.Board (von Johannes Fan - 11.03.2009 10:15) | ||
| ||
Hallo Zusammen, ich versuche momentan ein Programm zu erstellen, das mit Timer 1 (Frequenzerzeugung) und Timer 3 (PWM) realisiert wird. Das Programm habe ich zuerst mit Beispielprogramm zusammen aufgebaut und die erzeugten Signale werden mit HIlfe von Oszi dargestellt. Es funktioniert bei Frequenzerzeugung aber nicht bei PWM. Das Programm von Frequenzerzeugung : // FRQ1: Frequenzerzeugung (16 Bit) // �ber den Ausgang wird eine Signal mit einer entsprechend eingestellter // Frequenz ausgegeben. // �ber den Timer Prescaler wird das Teilungsverhältnis (Oszillatorfrequenz/ps/2) // festgelegt.(14,7456MHz/ps/2) /* Vorteiler (prescaler) Zeitbasis (Dauer eines Ticks) PS_1 (1) 136 ns PS_8 (2) 1,085 µs PS_64 (3) 8,681 µs PS_256 (4) 34,72 µs PS_1024 (5) 138,9 µs */ void Frequenzerzeugung(void) { Timer_T1FRQ(10,PS_1024); // Der Timer erzeugt ein Signal mit // Periode=34,72 µs*1=34,7 µs, Frequenz= 28,8kHz while (1); } Das Programm von PWM: // PWM3: Pulsweitenmodulation // Berechnung der Pulsweitenmodulation // Timer_T3PWM(Par1,Par2,PS); // Periode=Par1*PS/FOSC (100*64/14,7456MHz=434 µs) // Pulsweite=Par2*PS/FOSC (25*64/14,7456MHz=108 µs) // �ber den Timer Prescaler wird das Teilungsverhältnis (Oszillatorfrequenz/ps) // festgelegt. (14,7456MHz/ps) /* Vorteiler (prescaler) Zeitbasis (Dauer eines Ticks) PS_1 (1) 67,8 ns PS_8 (2) 542,5 ns PS_64 (3) 4,34 µs PS_256 (4) 17,36 µs PS_1024 (5) 69,4 µs */ // Dieses Demo Programm ist nur für Mega128 #ifdef MEGA32 #pragma Error "Timer3 nur für Mega128" #endif void PWM(void) { Timer_T3PWM(100,20,PS_256); // Berechnung siehe oben while (1); } und das Hauptprogramm: void main(void) { Frequenzerzeugung (); PWM (); } oder sollte ich mit Multithreading realsieren? vielen Dank im Voraus. | ||
Antwort schreiben Antworten: Re: Gleichzeitige Erzeugung von Frequenz und PWM (von PeterS - 11.03.2009 12:36) Re: Gleichzeitige Erzeugung von Frequenz und PWM (von Johannes Fan - 11.03.2009 13:34) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum