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