Test dell'OpenDrain e del PWM
Dependencies: mbed
Revision 1:762bbfe2fc71, committed 2020-08-25
- Comitter:
- pinofal
- Date:
- Tue Aug 25 07:16:44 2020 +0000
- Parent:
- 0:aaeeba6e02f5
- Commit message:
- Test dell'OpenDrain e del PWM
Changed in this revision
TestPWM.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/TestPWM.cpp Wed Oct 30 23:21:41 2019 +0000 +++ b/TestPWM.cpp Tue Aug 25 07:16:44 2020 +0000 @@ -1,5 +1,6 @@ // Test motore CC, pilotato in PWM -// testato su F070RB +// test interruttore simulato con un output OpenDrain +// testato su F070RB, F401 #include "mbed.h" #include<stdlib.h> @@ -16,7 +17,13 @@ DigitalOut myLed(LED2); // LED verde sulla scheda. Associato a PA_5 // Output per pilotaggio di un motore PWM -PwmOut OutPWM (PB_8); +PwmOut OutPWM (PB_8); + +// Output Open Drain No Pull +DigitalInOut SwitchRouter (PB_9, PIN_OUTPUT, OpenDrain, 0); + +// digital Out di Prova +DigitalOut Prova (PA_6); /**********/ /* MAIN */ @@ -25,10 +32,14 @@ { // messaggio di benvenuto - pc.printf("************ Hallo ************** \r\n"); + pc.printf("\r\n************ Hallo ************** \r\n"); pc.printf("*********** Test PWM *************\r\n"); - - + + // out di prova + Prova = 1; + // inizializza OpenDrain + SwitchRouter.mode(PullNone); + // inizializza il PWM OutPWM.period_ms(50); // periodo del PWM OutPWM.write(0.0); // inizializza duty cycle del PWM @@ -36,13 +47,16 @@ // Ciclo principale while(true) { - // accende il motore se è premuto lo User Button (BLU) + // accende il motore se è premuto lo User Button if(myButton == 0) { // accendi LED su scheda myLed = 1; // regola velocità del motore modificando duty cycle del PWM OutPWM.write(0.4); // velocità massima = 1.0 + + // accendi/spegni il router + SwitchRouter = 1; } else { @@ -50,6 +64,8 @@ myLed = 0; // ferma il PWM OutPWM.write(0.0); // motore fermo = 0.0 + // disattiva l'OpenDrainper il Router + SwitchRouter = 0; } // if(myButton==0) } // while(true) Principale } \ No newline at end of file