Test mbed1.

Dependencies:   mbed-src

Revision:
0:7ac9830cbaa5
Child:
1:1019095e41c4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Mar 12 06:32:33 2014 +0000
@@ -0,0 +1,71 @@
+#include "mbed.h"
+#include <math.h>
+#include "InterruptManager.h"
+#include "TPM_init.h"
+
+#define BAUD_RATE   921600
+
+#define NVIC_ISER   0xE000E100
+#define NVIC_ISPR   0xE000E200
+
+#define SIM_SOPT2_ADDRESS 0x40048004
+#define SIM_SCGC6_ADDRESS 0x4004803C
+
+
+DigitalOut out(PTD3);
+DigitalOut green(LED1);
+Serial pc(USBTX, USBRX);
+Timer timer;
+
+unsigned int flag;
+unsigned int modulo_val = 48000;
+unsigned int prescale_val = 0;
+
+void TPM0_handler_test();
+
+void init_test()
+{
+    NVIC_SetVector(TPM0_IRQn, (uint32_t) TPM0_handler_test);
+    NVIC_SetPriority(TPM0_IRQn, 0);
+
+    TPM0_init(modulo_val, prescale_val);
+
+    NVIC_EnableIRQ(TPM0_IRQn);
+    
+    wait(5);
+    TPM0_start();
+}
+
+void TPM0_handler_test() {
+    unsigned int overflow = TPM0_SC_read() & 0x000000C0; 
+    if(overflow == 0xC0) {
+        TPM0_clear_overflow();
+        NVIC_ClearPendingIRQ(TPM0_IRQn);
+        flag++;
+        out = !out;
+//        green = !green;
+    }
+}
+
+int main() {
+    flag = 0;
+    pc.baud(BAUD_RATE);
+    
+    init_test();
+
+    while(1) {
+        if (flag == 1000) {
+            green = !green;
+            flag = 0;
+        }
+    }
+/*
+    while(1) {
+        green = !green;
+        out = !out;
+        wait(0.5);
+        out = !out;
+        wait(0.5);
+    }
+*/
+}