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@0:287341b775cc, 2014-02-05 (annotated)
- Committer:
- SolderSplashLabs
- Date:
- Wed Feb 05 01:21:45 2014 +0000
- Revision:
- 0:287341b775cc
- Child:
- 1:a4fac4fed052
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 | |
SolderSplashLabs | 0:287341b775cc | 8 | PwmOut pwm4(P0_8); |
SolderSplashLabs | 0:287341b775cc | 9 | PwmOut pwm5(P0_9); |
SolderSplashLabs | 0:287341b775cc | 10 | PwmOut pwm6(P1_15); |
SolderSplashLabs | 0:287341b775cc | 11 | |
SolderSplashLabs | 0:287341b775cc | 12 | PwmOut pwm7(P0_21); |
SolderSplashLabs | 0:287341b775cc | 13 | PwmOut pwm8(P0_22); |
SolderSplashLabs | 0:287341b775cc | 14 | |
SolderSplashLabs | 0:287341b775cc | 15 | |
SolderSplashLabs | 0:287341b775cc | 16 | int main ( void ) |
SolderSplashLabs | 0:287341b775cc | 17 | { |
SolderSplashLabs | 0:287341b775cc | 18 | // Pwm1, 2 and 3 share a timer so use the same period |
SolderSplashLabs | 0:287341b775cc | 19 | pwm1.period_ms(20); |
SolderSplashLabs | 0:287341b775cc | 20 | pwm4.period_ms(20); |
SolderSplashLabs | 0:287341b775cc | 21 | pwm7.period_ms(20); |
SolderSplashLabs | 0:287341b775cc | 22 | |
SolderSplashLabs | 0:287341b775cc | 23 | while (1) |
SolderSplashLabs | 0:287341b775cc | 24 | { |
SolderSplashLabs | 0:287341b775cc | 25 | pwm1 = pwm1 + 0.01; |
SolderSplashLabs | 0:287341b775cc | 26 | wait(0.1); |
SolderSplashLabs | 0:287341b775cc | 27 | if(pwm1 == 1.0) { |
SolderSplashLabs | 0:287341b775cc | 28 | pwm1 = 0; |
SolderSplashLabs | 0:287341b775cc | 29 | } |
SolderSplashLabs | 0:287341b775cc | 30 | |
SolderSplashLabs | 0:287341b775cc | 31 | pwm2 = pwm1; |
SolderSplashLabs | 0:287341b775cc | 32 | pwm3 = pwm2; |
SolderSplashLabs | 0:287341b775cc | 33 | |
SolderSplashLabs | 0:287341b775cc | 34 | // -- |
SolderSplashLabs | 0:287341b775cc | 35 | |
SolderSplashLabs | 0:287341b775cc | 36 | pwm4 = pwm4 + 0.01; |
SolderSplashLabs | 0:287341b775cc | 37 | wait(0.1); |
SolderSplashLabs | 0:287341b775cc | 38 | if(pwm1 == 1.0) { |
SolderSplashLabs | 0:287341b775cc | 39 | pwm1 = 0; |
SolderSplashLabs | 0:287341b775cc | 40 | } |
SolderSplashLabs | 0:287341b775cc | 41 | |
SolderSplashLabs | 0:287341b775cc | 42 | pwm5 = pwm4; |
SolderSplashLabs | 0:287341b775cc | 43 | pwm6 = pwm5; |
SolderSplashLabs | 0:287341b775cc | 44 | |
SolderSplashLabs | 0:287341b775cc | 45 | // -- |
SolderSplashLabs | 0:287341b775cc | 46 | |
SolderSplashLabs | 0:287341b775cc | 47 | pwm7 = pwm7 + 0.01; |
SolderSplashLabs | 0:287341b775cc | 48 | wait(0.1); |
SolderSplashLabs | 0:287341b775cc | 49 | if(pwm7 == 1.0) { |
SolderSplashLabs | 0:287341b775cc | 50 | pwm7 = 0; |
SolderSplashLabs | 0:287341b775cc | 51 | } |
SolderSplashLabs | 0:287341b775cc | 52 | |
SolderSplashLabs | 0:287341b775cc | 53 | pwm8 = pwm7; |
SolderSplashLabs | 0:287341b775cc | 54 | } |
SolderSplashLabs | 0:287341b775cc | 55 | } |