mbed PWM DCservo

Committer:
rkuo2000
Date:
Thu Oct 20 12:38:53 2016 +0000
Revision:
0:7b5e6b979e90
mbed PWM DCservo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rkuo2000 0:7b5e6b979e90 1 // using NuMaker-PFM-NUC472 PWM1 output to drive DC servo motor
rkuo2000 0:7b5e6b979e90 2 #include "mbed.h"
rkuo2000 0:7b5e6b979e90 3
rkuo2000 0:7b5e6b979e90 4 PwmOut pwm1(PF_10); // PWM1 pinname
rkuo2000 0:7b5e6b979e90 5
rkuo2000 0:7b5e6b979e90 6 int main() {
rkuo2000 0:7b5e6b979e90 7
rkuo2000 0:7b5e6b979e90 8 int i=0;
rkuo2000 0:7b5e6b979e90 9 printf("...DCserv Start...\n\r");
rkuo2000 0:7b5e6b979e90 10 pwm1.period_us(20000); // set PWM period to 20ms (50Hz)
rkuo2000 0:7b5e6b979e90 11
rkuo2000 0:7b5e6b979e90 12 for (i=500; i<=2500; i=i+200) { // from 0.5ms to 2.5ms
rkuo2000 0:7b5e6b979e90 13 pwm1.pulsewidth_us(i); // set PWM pulse width to rotate motor
rkuo2000 0:7b5e6b979e90 14 Thread::wait(1000); // delay
rkuo2000 0:7b5e6b979e90 15 printf("DCservo pulse width = %d\n\r", i);
rkuo2000 0:7b5e6b979e90 16 }
rkuo2000 0:7b5e6b979e90 17 printf("...DCserv End.....\n\r");
rkuo2000 0:7b5e6b979e90 18 }