test

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #define pwm_period_us 500
00003 //#define pwm_pulsewidth_us 400
00004 //實驗說明:利用鍵盤+-符號來控制馬達速度
00005 PwmOut pwm_1(D9);
00006 PwmOut pwm_2(D10);
00007 PwmOut pwm_3(D11);
00008 float pwm = 0.5;
00009 DigitalIn button(USER_BUTTON);
00010 int main()
00011 {
00012     char a;
00013     pwm_1.period_us(pwm_period_us);
00014     pwm_2.period_us(pwm_period_us);
00015     pwm_3.period_us(pwm_period_us);
00016 
00017     pwm_1.write(0.5);
00018     pwm_2.write(0.5);
00019     pwm_3.write(0.5);
00020     printf("PWM all RESET to %.1f %%\n", pwm_1.read() * 100);
00021 
00022     while(1) {
00023         scanf("%c",&a);
00024         switch (a) {
00025             case '+':
00026                 pwm += 0.05;
00027                 pwm_1.write(pwm);
00028                 pwm_2.write(pwm);
00029                 pwm_3.write(pwm);
00030                 printf("%c ; PWM all set to %.1f %%\n", a, pwm_1.read() * 100);
00031                 break;
00032             case '-':
00033                 pwm -= 0.05;
00034                 pwm_1.write(pwm);
00035                 pwm_2.write(pwm);
00036                 pwm_3.write(pwm);
00037                 printf("%c ; PWM all set to %.1f %%\n", a, pwm_1.read() * 100);
00038                 break;
00039             /*case '3':
00040                 pwm_3.write(pwm);
00041                 printf("%c ; pwm_3 set to %.1f %%\n", a, pwm_3.read() * 100);
00042                 break;
00043                 
00044                 case '0':
00045                     pwm_1.write(0.5);
00046                     pwm_2.write(0.5);
00047                     pwm_3.write(0.5);
00048                     printf("%c ; pwm all reset to %.1f %%\n", a, pwm_1.read() * 100);
00049                     break;
00050                 */
00051             default:
00052                 pwm_1.write(0.5);
00053                 pwm_2.write(0.5);
00054                 pwm_3.write(0.5);
00055                 printf("PWM all RESET to %.1f %%\n", pwm_1.read() * 100);
00056                 break;
00057         }
00058     }
00059 }