Proyecto de Tesis en Mecatrónica. Universidad Técnica del Norte. Ernesto Palacios <mecatronica.mid@gmail.com>

Dependencies:   EthernetNetIf HTTPServer QEI_hw RPCInterface mbed

Revision:
2:a1b556d78a7f
Parent:
1:186187f69295
Child:
3:8d5a9e3cd680
--- a/main.cpp	Fri Mar 23 03:16:06 2012 +0000
+++ b/main.cpp	Sat Mar 24 04:40:21 2012 +0000
@@ -1,67 +1,33 @@
-// Example to set up an PTO based on the LPC TIMER0 external match register, ernestop
- 
-#include "mbed.h"
-
-Serial     pc( USBTX, USBRX );
-DigitalOut myled( LED1 );
-
-void Setup_PTO_Timer0();
-
-int main() {
-      
-    int six = 0;
-    six |= 15UL << 8; // New Value 16
-    pc.printf( "\n 1 << 8 = %d ", six );
-    
-    Setup_PTO_Timer0();
-    
-    while(1) {
-    
-        int test = ( (uint32_t)LPC_TIM0->EMR & 4 ) >> 2 ;
-        if( test )
-          myled = 1;
-        else
-          myled = 0;
-          
-       wait(0.05);
-    
-    }
-}
-
-void Setup_PTO_Timer0(){
-	
-	// power up TIMER0 (PCONP[1])
-    LPC_SC->PCONP |= 1 << 1; 
-
-    // reset and set TIMER0 to timer mode
-    LPC_TIM0->TCR  = 0x2; 
-    LPC_TIM0->CTCR = 0x0; 
-
-    // set prescaler
-    LPC_TIM0->PR = 1000;
-
-    // calculate period (1 interrupt every second)
-    uint32_t period = ( SystemCoreClock / 4000 ); 
-
-	// set Extyernat match register
-    LPC_TIM0->MR2 = period;
-    LPC_TIM0->MR3 = period * 2;
-    
-    LPC_TIM0->MCR |= 1 << 10;    // reset on MR3
-    
-    LPC_TIM0->EMR |= 15UL << 8;  // Toogle Pin MAT2.2 
-                               //  and MAT2.3
-
-    LPC_PINCON->PINSEL0 |= 15UL << 16;  //Set Funtcion to MAT2.2 
-                                      // and MAT2.3 
-
-    //Start the Timer 0
-    LPC_TIM0->TCR = 1;
-
-    //OUTPUT ON PIN_5 AND PIN_6
-    // OF MBED WILL TOGGLE EVERY 
-    // SECOND...   I hope!
-}
-
-
-
+// El siguiente código sirve de ejemplo para 
+// establecer un tren de impulsos y controlar
+// su frecuencia.
+ 
+#include "mbed.h"
+#include "setup.h"
+
+Serial     pc( USBTX, USBRX );
+DigitalOut myled( LED1 );
+
+void Setup_PTO_Timer2();
+void ISR_Serial();
+
+uint32_t PRESCALER_STEP;  //Steps for the preescaler
+
+int main() {
+    
+
+    pc.printf( "Teclee 'w' para aumentar, 's' para disminuir, 'z' cambia los pasos " );
+    PRESCALER_STEP = 50UL;
+    //The default prescaler will be 0.05 sec
+
+    Setup_PTO_Timer2();
+    pc.attach( &ISR_Serial );
+    
+    uint32_t period = ( uint32_t LPC_TIM2->PR );
+    pc.printf( "\Period = %d", period );
+    
+    while(1) {
+   
+    
+     }
+}
\ No newline at end of file