safety critical
/
PwmOut_HelloWorld
lab5
Fork of PwmOut_HelloWorld by
main.cpp@4:ef9385dba098, 2017-11-23 (annotated)
- Committer:
- Asimtaj
- Date:
- Thu Nov 23 17:03:29 2017 +0000
- Revision:
- 4:ef9385dba098
- Parent:
- 1:5160ea45399b
lab5
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:50d2b9c62765 | 1 | #include "mbed.h" |
mbedAustin | 1:5160ea45399b | 2 | |
Asimtaj | 4:ef9385dba098 | 3 | |
Asimtaj | 4:ef9385dba098 | 4 | PwmOut PWM0(p21); //PWM out |
Asimtaj | 4:ef9385dba098 | 5 | AnalogIn ain0(p16); //Analog input A0 |
Asimtaj | 4:ef9385dba098 | 6 | AnalogIn ain1(p20); //Analog input A1 |
Asimtaj | 4:ef9385dba098 | 7 | DigitalOut ledasim(LED1); |
Asimtaj | 4:ef9385dba098 | 8 | DigitalOut ledasim2(LED2); |
Asimtaj | 4:ef9385dba098 | 9 | Serial pc(USBTX, USBRX); // tx, rx |
Asimtaj | 4:ef9385dba098 | 10 | float test=0; |
mbed_official | 0:50d2b9c62765 | 11 | int main() { |
Asimtaj | 4:ef9385dba098 | 12 | int ain11 = 0; |
Asimtaj | 4:ef9385dba098 | 13 | //PWM0.period(0.0f); // 0second period |
Asimtaj | 4:ef9385dba098 | 14 | //PWM0.write(0.0f); |
Asimtaj | 4:ef9385dba098 | 15 | test=ain1; |
Asimtaj | 4:ef9385dba098 | 16 | pc.printf("%f\n\r",test); |
Asimtaj | 4:ef9385dba098 | 17 | wait(5); |
Asimtaj | 4:ef9385dba098 | 18 | while(ain1>0.18){ |
Asimtaj | 4:ef9385dba098 | 19 | test=ain1; |
Asimtaj | 4:ef9385dba098 | 20 | pc.printf("%f\n\r",test); |
Asimtaj | 4:ef9385dba098 | 21 | } |
Asimtaj | 4:ef9385dba098 | 22 | while(1){ |
Asimtaj | 4:ef9385dba098 | 23 | if(ain1<0.8){ |
mbedAustin | 1:5160ea45399b | 24 | // specify period first |
Asimtaj | 4:ef9385dba098 | 25 | PWM0.period(0.0025f); // 0.0025 second period |
Asimtaj | 4:ef9385dba098 | 26 | PWM0.write(0.8f); // 50% duty cycle, relative to period |
mbedAustin | 1:5160ea45399b | 27 | //led = 0.5f; // shorthand for led.write() |
mbedAustin | 1:5160ea45399b | 28 | //led.pulsewidth(2); // alternative to led.write, set duty cycle time in seconds |
Asimtaj | 4:ef9385dba098 | 29 | //printf("ll"); |
Asimtaj | 4:ef9385dba098 | 30 | ledasim=!ledasim; |
Asimtaj | 4:ef9385dba098 | 31 | //printf("%f\n\r",ain0); |
Asimtaj | 4:ef9385dba098 | 32 | //printf(" %f\n\r", ain0.read()); |
Asimtaj | 4:ef9385dba098 | 33 | } |
Asimtaj | 4:ef9385dba098 | 34 | wait(5); |
Asimtaj | 4:ef9385dba098 | 35 | while(1){ |
Asimtaj | 4:ef9385dba098 | 36 | wait(0.25); |
Asimtaj | 4:ef9385dba098 | 37 | test=ain0; |
Asimtaj | 4:ef9385dba098 | 38 | pc.printf("%f\n\r",test); |
Asimtaj | 4:ef9385dba098 | 39 | if(ain0 > 0.289 || ain0 < 0.268) { |
Asimtaj | 4:ef9385dba098 | 40 | PWM0.period(0.0f); // 0second period |
Asimtaj | 4:ef9385dba098 | 41 | PWM0.write(0.0f); |
Asimtaj | 4:ef9385dba098 | 42 | ain11= 1; |
Asimtaj | 4:ef9385dba098 | 43 | } else if(ain11 == 0){ |
Asimtaj | 4:ef9385dba098 | 44 | PWM0.period(0.0025f); // 0second period |
Asimtaj | 4:ef9385dba098 | 45 | PWM0.write(0.8f); |
Asimtaj | 4:ef9385dba098 | 46 | } |
Asimtaj | 4:ef9385dba098 | 47 | } |
Asimtaj | 4:ef9385dba098 | 48 | |
Asimtaj | 4:ef9385dba098 | 49 | } |
Asimtaj | 4:ef9385dba098 | 50 | } |