DipCortex PwmOut Example

Dependencies:   mbed

Fork of DipCortex-PWM by Carl - SolderSplash Labs

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/

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?

UserRevisionLine numberNew 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 }