Alexander suarez rodriguez
/
Nucleo_pwm2ejemplo
proyecto de pwm
main.cpp@0:4a01e946c63e, 2018-08-28 (annotated)
- Committer:
- AlexMec3D
- Date:
- Tue Aug 28 01:25:07 2018 +0000
- Revision:
- 0:4a01e946c63e
mi primer commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AlexMec3D | 0:4a01e946c63e | 1 | #include "mbed.h" |
AlexMec3D | 0:4a01e946c63e | 2 | /* |
AlexMec3D | 0:4a01e946c63e | 3 | DigitalOut my_led(LED1); |
AlexMec3D | 0:4a01e946c63e | 4 | InterruptIn my_button(USER_BUTTON); |
AlexMec3D | 0:4a01e946c63e | 5 | PwmOut my_pwm(PB_3); |
AlexMec3D | 0:4a01e946c63e | 6 | |
AlexMec3D | 0:4a01e946c63e | 7 | void pressed() { |
AlexMec3D | 0:4a01e946c63e | 8 | if (my_pwm.read() == 0.25) { |
AlexMec3D | 0:4a01e946c63e | 9 | my_pwm.write(0.75); |
AlexMec3D | 0:4a01e946c63e | 10 | } |
AlexMec3D | 0:4a01e946c63e | 11 | else { |
AlexMec3D | 0:4a01e946c63e | 12 | my_pwm.write(0.25); |
AlexMec3D | 0:4a01e946c63e | 13 | } |
AlexMec3D | 0:4a01e946c63e | 14 | } |
AlexMec3D | 0:4a01e946c63e | 15 | |
AlexMec3D | 0:4a01e946c63e | 16 | int main() |
AlexMec3D | 0:4a01e946c63e | 17 | { |
AlexMec3D | 0:4a01e946c63e | 18 | // Set PWM |
AlexMec3D | 0:4a01e946c63e | 19 | my_pwm.period_ms(10); |
AlexMec3D | 0:4a01e946c63e | 20 | my_pwm.write(0.5); |
AlexMec3D | 0:4a01e946c63e | 21 | |
AlexMec3D | 0:4a01e946c63e | 22 | // Set button |
AlexMec3D | 0:4a01e946c63e | 23 | my_button.fall(&pressed); |
AlexMec3D | 0:4a01e946c63e | 24 | |
AlexMec3D | 0:4a01e946c63e | 25 | while (1) { |
AlexMec3D | 0:4a01e946c63e | 26 | my_led = !my_led; |
AlexMec3D | 0:4a01e946c63e | 27 | wait(0.5); // 500 ms |
AlexMec3D | 0:4a01e946c63e | 28 | } |
AlexMec3D | 0:4a01e946c63e | 29 | }*/ |
AlexMec3D | 0:4a01e946c63e | 30 | Timer tiempo; |
AlexMec3D | 0:4a01e946c63e | 31 | DigitalOut led(LED1); |
AlexMec3D | 0:4a01e946c63e | 32 | DigitalIn buton(USER_BUTTON); |
AlexMec3D | 0:4a01e946c63e | 33 | void main(){ |
AlexMec3D | 0:4a01e946c63e | 34 | tiempo.start(); |
AlexMec3D | 0:4a01e946c63e | 35 | int t=0; |
AlexMec3D | 0:4a01e946c63e | 36 | while(1){ |
AlexMec3D | 0:4a01e946c63e | 37 | t=tiempo.read()-t; |
AlexMec3D | 0:4a01e946c63e | 38 | if(buton){ |
AlexMec3D | 0:4a01e946c63e | 39 | if(t>=5){ |
AlexMec3D | 0:4a01e946c63e | 40 | led=~led; |
AlexMec3D | 0:4a01e946c63e | 41 | t=0;tiempo.reset();}} |
AlexMec3D | 0:4a01e946c63e | 42 | else{led=0;} |
AlexMec3D | 0:4a01e946c63e | 43 | } |
AlexMec3D | 0:4a01e946c63e | 44 | |
AlexMec3D | 0:4a01e946c63e | 45 | |
AlexMec3D | 0:4a01e946c63e | 46 | } |