example for using fast pwm

Dependencies:   FastPWM mbed

Example for the use of fast pwm on an stm nucleo F302R8.

Revision:
0:e89048c4d596
Child:
1:1ac1f46ae264
Child:
2:82d62dda5cc9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Mar 01 10:39:08 2016 +0000
@@ -0,0 +1,50 @@
+#include "mbed.h"
+#include "FastPWM.h"
+//setting pwm outputs
+    FastPWM buck(D11,1);
+    FastPWM boost(D10,1);
+//seting analog input  
+    AnalogIn analog_value(A0);
+//setup serial coms
+Serial pc(USBTX, USBRX);
+//setup ticker 
+    Ticker toggle_sample_ticker;
+//setup gobal variables
+    int count=0;
+    int SampleSum=0;
+    float sample[8];
+//setup interrupt sample function
+    void sampling() {
+            if(count<8) {
+                 count=count+1;
+                 sample[count]=(analog_value.read());
+                 SampleSum=(sample[0]+sample[1]+sample[2]+sample[3]+sample[4]+sample[5]+sample[6]+sample[7]);
+                            }
+                else
+                    count=0;
+                    }
+                    
+//setup pwm function               
+    void buckpwm(int pwm){
+             if (pwm <=100) {
+                    buck.pulsewidth_ticks( pwm );
+                                } 
+                            }
+
+int main() {
+//setup pwm
+    uint32_t period_ticks=720;
+    buck.prescaler(1);
+    boost.prescaler(1);
+// define period of pwm...
+    buck.period_ticks (period_ticks);
+    boost.period_ticks (period_ticks); 
+//define duty cycle
+    buckpwm(1);   
+    boost.pulsewidth_us(3);
+//boostpwm(10);   
+    while(1) {
+                toggle_sample_ticker.attach(&sampling, 0.0000011); // will cal mycode every 1/8000 second
+                pc.printf("\t%i\n",SampleSum);
+    }
+}