Simon Ford
/
PWMTest
main.cpp@0:c795e64e9eb0, 2009-12-01 (annotated)
- Committer:
- simon
- Date:
- Tue Dec 01 11:01:48 2009 +0000
- Revision:
- 0:c795e64e9eb0
- Child:
- 1:4115ae4cbc76
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simon | 0:c795e64e9eb0 | 1 | // Testing PWM channel 0 vs channel 1 behaviour, sford |
simon | 0:c795e64e9eb0 | 2 | |
simon | 0:c795e64e9eb0 | 3 | #include "mbed.h" |
simon | 0:c795e64e9eb0 | 4 | |
simon | 0:c795e64e9eb0 | 5 | PwmOut pwm1(p26); |
simon | 0:c795e64e9eb0 | 6 | PwmOut pwm2(p25); |
simon | 0:c795e64e9eb0 | 7 | |
simon | 0:c795e64e9eb0 | 8 | int main() { |
simon | 0:c795e64e9eb0 | 9 | |
simon | 0:c795e64e9eb0 | 10 | uint32_t t = 10000; |
simon | 0:c795e64e9eb0 | 11 | |
simon | 0:c795e64e9eb0 | 12 | // set period |
simon | 0:c795e64e9eb0 | 13 | LPC_PWM1->MR0 = t; |
simon | 0:c795e64e9eb0 | 14 | LPC_PWM1->LER |= 1 << 0; |
simon | 0:c795e64e9eb0 | 15 | |
simon | 0:c795e64e9eb0 | 16 | while (1) { |
simon | 0:c795e64e9eb0 | 17 | |
simon | 0:c795e64e9eb0 | 18 | // set pulsewidth to 100% |
simon | 0:c795e64e9eb0 | 19 | LPC_PWM1->MR1 = t; |
simon | 0:c795e64e9eb0 | 20 | LPC_PWM1->MR2 = t; |
simon | 0:c795e64e9eb0 | 21 | LPC_PWM1->LER |= 0x6; |
simon | 0:c795e64e9eb0 | 22 | |
simon | 0:c795e64e9eb0 | 23 | // wait for update |
simon | 0:c795e64e9eb0 | 24 | while (LPC_PWM1->LER); |
simon | 0:c795e64e9eb0 | 25 | |
simon | 0:c795e64e9eb0 | 26 | // set pulsewidth less than 100% |
simon | 0:c795e64e9eb0 | 27 | LPC_PWM1->MR1 = t - 500; |
simon | 0:c795e64e9eb0 | 28 | LPC_PWM1->MR2 = t - 500; |
simon | 0:c795e64e9eb0 | 29 | LPC_PWM1->LER |= 0x6; |
simon | 0:c795e64e9eb0 | 30 | |
simon | 0:c795e64e9eb0 | 31 | // wait for update |
simon | 0:c795e64e9eb0 | 32 | while (LPC_PWM1->LER); |
simon | 0:c795e64e9eb0 | 33 | } |
simon | 0:c795e64e9eb0 | 34 | } |