Einfache PWM mit dsPIC33F gesucht

Gast #2023246
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe hier ein MicroStick board mit dsPIC33FJ64MC802 und moechte eine 
einfache PWM mit (zunaechst) festem Teilerverhaeltnis realisieren. Ich 
habe schon das Datenblatt sowie eine lange Internetsuche hinter mir, 
finde aber keinen Code der mir sagt wie ich dazu die nicht geringe Menge 
an PWM-Registern initialisieren muss. Hat jemand eine funktionierende 
Init-Routine die er mir zeigen koennte? Das Datenblatt ist was das 
angeht wirklich nicht aussagekraeftig...

Vielen Dank!

Jan
#2023331
Lesenswert?
• ▲
▼
erstmal nen timer einschalten, in dem falle nehm ich timer 3:
1
void timer3Init(void)
2
{
3
  T3CON = 0x00;      // Stops the Timer3 and reset control reg.
4
  TMR3 = 0x00;      // Clear contents of the timer register
5
  PR3 = 0xFFFF;      // Load the Period register
6
  _T3IF = 0;        // Clear the Timer3 interrupt status flag
7
  _T3IE = 0;        // Enable Timer3 interrupts
8
  
9
  T3CONbits.TCKPS  = 0;  // prescaler settings at 1:1
10
  T3CONbits.TON = 1;    // Start Timer3 clock source set to the internal instruction cycle  
11
}

dann die pwm einschalten
1
#define  PWM_FREQ    2500
2
#define PWM_PR      FCY/PWM_FREQ
3

4
void pwm1Init(void)
5
{
6
  OC1CONbits.OCM = 0b000;    // Disable Output Compare Module
7
  OC1R = PWM_PR/2;      // Write the duty cycle for the first PWM pulse
8
  OC1RS = PWM_PR/2;        // Write the duty cycle for the second PWM pulse
9
  PR3 = PWM_PR;        // Write the cycle for complete cycle
10
  OC1CONbits.OCTSEL = 1;    // Select Timer 3 as output compare time base
11
  OC1CONbits.OCM = 0b110;    // PWM mode
12
}

und dann genießen, in dem falle mit dem verhältnis 50/50.


aber um ehrlich zu sein, das alles steht im family datasheet... wo du 
dann auch das initialisieren des PPS findest, sonst zuckt da ja sowieso 
nichts :)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.