Solution for the FZ429
Dependencies: mbed
Diff: main.cpp
- Revision:
- 0:277f12eec770
- Child:
- 3:dd6456275904
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Sep 24 12:31:48 2015 +0000 @@ -0,0 +1,45 @@ +#include "mbed.h" + +//Global PWM object +PwmOut pwmRed(D7); + +int T = 100; //100uS +volatile int Tmark = 0; //0us +volatile int delta = 1; //1us + +//Timer +Ticker t; + +//Function prototype +void doTwinkle(); + +int main() { + + //Initial PWM state + pwmRed.period_us(T); + pwmRed.pulsewidth_us(Tmark); + + //Start timer + t.attach(doTwinkle, 0.01); + + while(1) { + sleep(); + + //Update PWM + pwmRed.pulsewidth_us(Tmark); + + //printf("Tmark = %d\n", Tmark); //Debug + } +} + +//ISR for Timer +void doTwinkle() +{ + //Update mark time + Tmark += delta; + + //Check bounds - and swap direction + if ((Tmark >= 99) || (Tmark <= 0)) { + delta = -delta; + } +} \ No newline at end of file