ARM7 PWM und UART gleichzeitig nutzen

Gast #259002
Lesenswert?
• ▲
▼
Hallo.

Mein Board: LPC2129 Olimex-LPC-P212X

Ich erzeuge an Pin P0.1 per PWM (PWM3)einen Takt.
Gleichzeitig möchte ich die UART1 (P0.8/P0.9)
nutzen.
PINSEL wurde richtig gesetzt!
Beides separat funktioniert wunderbar.
Sobald ich jedoch beides gleichzeitig laufen lassen
will, funktioniert die UART nicht mehr.
Wenn ich die PWM (per PWM_TCR=0) stoppe, läuft
die UART wieder!

Habe auch noch andere PWM-Ausgänge probiert, daran kann es auch nicht
liegen.

Hat jemand eine Idee woran das liegen könnte??
Gast #259003
Lesenswert?
• ▲
▼
Hier mal der PWM Code:


void PWM0_isr(void)
{
  PWM_IR       |= 0x00000001;  /* Clear match0 interrupt */
  VICVectAddr  = 0x00000000;
}

void init_PWM (void)
{
  VICVectAddr8 = (unsigned long)PWM0_isr;
  VICVectCntl8 = 0x00000028;
  VICIntEnable |= 0x00000100;

  PCB_PINSEL0 &= ~(3<<2);    //pwm3 p0.1
  PCB_PINSEL0 |= (2<<2);

  PWM_PR  = 0x00000000;
  PWM_PCR = 0x00002020;
  PWM_MCR = 0x00000003;
  PWM_MR0 = 1832;
  PWM_MR4 = 916;                       // 50% ca. 32768 KHz
  PWM_MR5 = 1832;
  PWM_LER = 0xF;
  PWM_EMR = 0x00210A8E;
  PWM_TCR = 0x00000002;
  PWM_TCR = 0x00000009;
}
Gast #259004
Lesenswert?
• ▲
▼
ups, alten Code kopiert sry^^
hier der Richtige (Funktionierende):


  PCB_PINSEL0 &= ~(3<<2);    //pwm3 p0.1
  PCB_PINSEL0 |= (2<<2);

  PWM_PR    = 0x00000000;
  PWM_PCR = 0x00000808;
  PWM_MCR = 0x00000003;
  PWM_MR0 = 1832;
  PWM_MR2 = 916;PWM2
  PWM_MR3 = 1832;
  PWM_LER = 0xF;
  PWM_EMR = 0x00210A8E;
  PWM_TCR = 0x00000002;
  PWM_TCR = 0x00000009;

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.