Hallo allerseits. Leider habe ich auf meinem LPC2101 ein Problem beim
Betrieb des P0.8 (MAT2.1) im PWM Modus (ohne Interrupts). Folgenden Code
habe ich bisher:
1 | // Configure P0.8
|
2 | PINSEL0 &= ~(3<<16);
|
3 | PINSEL0 |= 2<<16;
|
4 |
|
5 | T2TCR = 1<<1; // Reset TC and PC, disable timer
|
6 | T2PR = 5; // Prescaling
|
7 | T2MCR = 1<<10; // Reset on MR3 match
|
8 | PWM0CON = 1<<3; // Use single edged PWM for MR3
|
9 | T2EMR = 1<<1 | 3<<6; // Enable MAT2.1 and set toggle mode
|
10 |
|
11 | // Setup PWM parameters
|
12 | unsigned short cycles = 49152;
|
13 | T2MR3 = cycles; // Period duration
|
14 | T2MR1 = cycles/4; // Pulse width
|
15 | T2TCR = 1<<0; // Enable counter
|
Die Werte für Prescaling und die 'cycles' Variable werden normalerweise
ausgerechnet, die obigen Werte sind nur Beispiele für F=200Hz
(PCLK=58,982,400Hz). Mein Problem ist, dass der Puls für 5ms konstant
HIGH und anschließend für 5ms konstant LOW ist (dann wieder 5ms HIGH
usw.). MR1 wird scheinbar ignoriert. Hat jemand eine Idee, warum das so
ist?
Danke!