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??
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;
}
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;
Habe in meinem "T-Clock"-Spielzeug PWM und UART zusammen in Betrieb, vielleicht hilft der Code etwas weiter: http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/glcd_dcf77/index.html Martin Thomas
Werde mal versuchen mit Hilfe deines Codes meinen Fehler zu finden. Danke dir :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.