Test dell'OpenDrain e del PWM

Dependencies:   mbed

Files at this revision

API Documentation at this revision

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