Forum: Mikrocontroller und Digitale Elektronik LPC1758 PWM Init


von Lars (Gast)


Lesenswert?

Moin,

kann mir jmd von euch mit meiner PWM-Initialisierung weiterhelfen? Bis 
jetzt sehe ich leider noch kein PWM-Signal an meinem LPC1758 Prozessor.


Das ist meine Initialiszierung.
1
                  /* Enable PWM1 block */
2
    LPC_SC->PCONP |= (1<<6); 
3
  
4
      /* Configure PWM1_PCLK to CCLK(72MHz), default value is CCLK/4 */
5
      LPC_SC->PCLKSEL0 &= ~(3 << 12);
6
      LPC_SC->PCLKSEL0 |=  (3 << 12);  /* PWM1_PCLK=CCLK/8 */
7
    /* 0 = CCLK/4 | 1 = CCLK | 2 = CCLK/2 | 3 = CCLK/8 */
8
9
    /* Configure  PWM1.6 pin (out-enable pin) */
10
    LPC_PINCON->PINSEL3 &= ~(3UL << 20);
11
      LPC_PINCON->PINSEL3 |=  (2UL << 20);          /* P1.26: PWM1.6 */
12
    
13
    /* Configure Pinmode: neither pull-up nor pull-down -> open-drain output */
14
    LPC_PINCON->PINMODE3 &= ~(3UL << 20);
15
    LPC_PINCON->PINMODE3 |= (2UL << 20);
16
17
18
                  LPC_PWM1->TCR = (1<<1); //--- Reset counter
19
    LPC_PWM1->PR = 0;
20
    LPC_PWM1->PC = 0;
21
22
    LPC_PWM1->MR0 = 1000; //--- test period
23
    LPC_PWM1->MR1 = 800;
24
    LPC_PWM1->MR2 = 700;
25
    LPC_PWM1->MR6 = 500; //--- test period/2
26
    LPC_PWM1->MCR = (1<<1);
27
28
                  LPC_PWM1->TCR |= (1<<0)|(1<<3);  // enable PWM
29
     LPC_PWM1->PCR |= (1<<14);     //--- PWM1.6 output


Gruß
Lars

von Lars (Gast)


Lesenswert?

habs jetzt nach dieser Init zum Laufen gebracht:
Beitrag "LPC1769 PWM Probleme bei Dutycycle"

Kann man allerdings das ständige Aufrufen der PWM_SET() Methode in der 
Main-Routine (while(1)-Schleife) umgehen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.