APP 1 S5.

Dependencies:   mbed

Revision:
13:08ef55cd14c6
Parent:
12:4961ec71bc8f
Child:
14:d48d869ed365
--- a/APP.cpp	Tue Jan 12 15:09:47 2016 +0000
+++ b/APP.cpp	Tue Jan 12 15:17:21 2016 +0000
@@ -6,37 +6,39 @@
 #include <stdint.h>
 
 #include "mbed.h"
+#include "UART.h"
 #include "APP.h"
+#include "LPC17xx.h"
 
 
-static I2C    i2c(p28, p27);
-static Serial uart(p9, p10);
+static I2C i2c(p28, p27);
 
 void setup()
 {
+    SystemCoreClockUpdate();
+
     // Setup UART and I2C.
-    uart.format(8, Serial::None, 1);
-    uart.baud(9600);
+    UARTInit(9600);
     i2c.frequency(100000);
- 
+
     // Clear display
-    uart.putc(0x76);
- 
+    UARTSend(0x76);
+
     // Decimal point for display
-    uart.putc(0x77);
-    uart.putc(0x02);
+    UARTSend(0x77);
+    UARTSend(0x02);
  
     // Maximum brightness
-    uart.putc(0x7A);
-    uart.putc(0xFF);
+    UARTSend(0x7A);
+    UARTSend(0xFF);
 }
- 
+
 void activateAccelerometer()
 {
     uint8_t data[2] = {CTRL_REG, 0x01};
     i2c.write(ACC_ADDRESS, (char*) data, 2);
 }
- 
+
 uint8_t readStatus()
 {
     uint8_t result[1];
@@ -46,7 +48,7 @@
  
     return result[0];
 }    
- 
+
 int16_t convertToAcceleration(uint8_t hi, uint8_t lo)
 {
     int16_t value = (lo >> 2) | (hi << 6);
@@ -57,7 +59,7 @@
  
     return value;
 }
- 
+
 int16_t readAndComputeAngle()
 {
     uint8_t result[6];
@@ -85,27 +87,21 @@
 {
     uint8_t digits[4];
     sprintf((char*) digits, "%d", angle);
-
+ 
     if (angle < 100)
     {
-        uart.putc(0);
-        uart.putc(0);
-        uart.putc(digits[0]);
-        uart.putc(digits[1]);
+        UARTSend('0');
+        UARTSend('0');
+        UARTSend(digits, 2);
     }
     else if (angle < 1000)
     {
-        uart.putc(0);
-        uart.putc(digits[0]);
-        uart.putc(digits[1]);
-        uart.putc(digits[2]);
+        UARTSend('0');
+        UARTSend(digits, 3);
     }
     else
     {
-        uart.putc(digits[0]);
-        uart.putc(digits[1]);
-        uart.putc(digits[2]);
-        uart.putc(digits[3]);
+        UARTSend(digits, 4);
     }
 }
  
@@ -123,11 +119,11 @@
         {
             // Get accelerations, compute angle
             uint16_t angle = readAndComputeAngle();
- 
+
             // Update 7 segment display
             updateDisplay(angle);
         }
- 
+
         wait(0.4);
     }
 }