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.