DipCortex PwmOut Example
Dependencies: mbed
Fork of DipCortex-PWM by
PwmOut Example for the DipCortex
Mbed PwmOut library can use the following pins :
Timer/Match Register Pinout Options CT16B0/MR0 p15 (P0_8) and p19 (p1_13) CT16B0/MR1 p16 (P0_9) and p20 (p1_14) CT16B0/MR2 p27 (P1_15) and p27 (p1_15) CT16B1/MR0 p24 (P0_21) CT16B1/MR1 p9 (P0_22) and p38 (P1_23) CT32B0/MR0 p17 (P1_24) and p26 (P0_18) CT32B0/MR1 p29 (P1_25) and p25 (P0_19) CT32B0/MR2 p35 (P1_26)
Please refer to the Pin Out diagram for the WiFi DipCortex to avoid Pins used to communicate with the CC3000 http://www.soldersplash.co.uk/products/wifi-dipcortex/
main.cpp@2:ab9790e6d19e, 2014-02-05 (annotated)
- Committer:
- SolderSplashLabs
- Date:
- Wed Feb 05 02:03:32 2014 +0000
- Revision:
- 2:ab9790e6d19e
- Parent:
- 1:a4fac4fed052
- Child:
- 3:065f35bc0f29
Changed to 2KHz PWM, work in progress
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
SolderSplashLabs | 0:287341b775cc | 1 | #include "mbed.h" |
SolderSplashLabs | 0:287341b775cc | 2 | |
SolderSplashLabs | 0:287341b775cc | 3 | PwmOut pwm1(P1_24); |
SolderSplashLabs | 0:287341b775cc | 4 | PwmOut pwm2(P1_25); |
SolderSplashLabs | 0:287341b775cc | 5 | PwmOut pwm3(P1_26); |
SolderSplashLabs | 0:287341b775cc | 6 | |
SolderSplashLabs | 0:287341b775cc | 7 | PwmOut pwm4(P0_8); |
SolderSplashLabs | 0:287341b775cc | 8 | PwmOut pwm5(P0_9); |
SolderSplashLabs | 0:287341b775cc | 9 | PwmOut pwm6(P1_15); |
SolderSplashLabs | 0:287341b775cc | 10 | |
SolderSplashLabs | 0:287341b775cc | 11 | PwmOut pwm7(P0_21); |
SolderSplashLabs | 0:287341b775cc | 12 | PwmOut pwm8(P0_22); |
SolderSplashLabs | 0:287341b775cc | 13 | |
SolderSplashLabs | 0:287341b775cc | 14 | int main ( void ) |
SolderSplashLabs | 0:287341b775cc | 15 | { |
SolderSplashLabs | 1:a4fac4fed052 | 16 | float pwmStep = 0; |
SolderSplashLabs | 1:a4fac4fed052 | 17 | |
SolderSplashLabs | 2:ab9790e6d19e | 18 | // We want a 2KHz Pwm |
SolderSplashLabs | 0:287341b775cc | 19 | // Pwm1, 2 and 3 share a timer so use the same period |
SolderSplashLabs | 2:ab9790e6d19e | 20 | pwm1.period_us(500); |
SolderSplashLabs | 2:ab9790e6d19e | 21 | pwm4.period_ms(500); |
SolderSplashLabs | 2:ab9790e6d19e | 22 | pwm7.period_ms(500); |
SolderSplashLabs | 0:287341b775cc | 23 | |
SolderSplashLabs | 0:287341b775cc | 24 | while (1) |
SolderSplashLabs | 0:287341b775cc | 25 | { |
SolderSplashLabs | 1:a4fac4fed052 | 26 | pwmStep += 0.01; |
SolderSplashLabs | 1:a4fac4fed052 | 27 | |
SolderSplashLabs | 1:a4fac4fed052 | 28 | if(pwmStep >= 1.0) { |
SolderSplashLabs | 1:a4fac4fed052 | 29 | pwmStep = 0; |
SolderSplashLabs | 0:287341b775cc | 30 | } |
SolderSplashLabs | 0:287341b775cc | 31 | |
SolderSplashLabs | 1:a4fac4fed052 | 32 | pwm1 = pwmStep; |
SolderSplashLabs | 1:a4fac4fed052 | 33 | pwm2 = pwmStep; |
SolderSplashLabs | 1:a4fac4fed052 | 34 | pwm3 = pwmStep; |
SolderSplashLabs | 0:287341b775cc | 35 | |
SolderSplashLabs | 1:a4fac4fed052 | 36 | pwm4 = pwmStep; |
SolderSplashLabs | 1:a4fac4fed052 | 37 | pwm5 = pwmStep; |
SolderSplashLabs | 1:a4fac4fed052 | 38 | pwm6 = pwmStep; |
SolderSplashLabs | 0:287341b775cc | 39 | |
SolderSplashLabs | 1:a4fac4fed052 | 40 | pwm7 = pwmStep; |
SolderSplashLabs | 1:a4fac4fed052 | 41 | pwm8 = pwmStep; |
SolderSplashLabs | 1:a4fac4fed052 | 42 | |
SolderSplashLabs | 0:287341b775cc | 43 | wait(0.1); |
SolderSplashLabs | 0:287341b775cc | 44 | } |
SolderSplashLabs | 0:287341b775cc | 45 | } |