Sample program for LPC1768. This works with LPC1114 DisatnceSensorUnitProgram.

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
aktk
Date:
Wed Jun 08 14:16:58 2016 +0000
Commit message:
Sample Program for LPC1768. This works with LPC1114 DistanceSensorUnitProgram.

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 0cbd0489395a main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Jun 08 14:16:58 2016 +0000
@@ -0,0 +1,126 @@
+#include "mbed.h"
+#include <cmath>
+
+DigitalOut myled(LED1);
+Serial pc(USBTX, USBRX);
+Serial com_lpc1114(p13, p14);
+
+LocalFileSystem local("local");  // define Mount Point(which becomes Direcory Path)
+
+void echoback()
+{
+    char str[6] = "HELLO";
+
+    com_lpc1114.putc(0x11); //Functional
+    com_lpc1114.putc(6);    //size of echo
+    pc.printf("echoback: ");
+    for(char ch = 0; ch < 6; ch++) {
+        com_lpc1114.putc(str[ch]);
+        pc.printf("%c",com_lpc1114.getc());
+    }
+    pc.putc('\n');
+
+}
+
+int main()
+{
+    FILE* fp;
+    char cfp;
+    unsigned short dtc;
+    char ctmp;
+    unsigned short dtmp;
+
+    pc.printf("\nPROGRAM BEGIN\n");
+
+    pc.printf("\nselect ch.0\n");
+    com_lpc1114.putc(0);
+
+    cfp = pc.getc();
+    if(cfp == 'l') {
+        fp = fopen("/local/SENSOR00.SAV", "rb");
+        if (fp == NULL) pc.printf("\nfopen failured\n");
+
+        pc.printf("\nload save data to lpc1114\n");
+        com_lpc1114.putc('l');
+        pc.printf("ACK recieved :");
+        //for(int i = 0; i < 9 * 256 + 3 + 6 * 5; i++) {
+        int i = 0;
+
+        while(1) {
+            fread(&cfp, sizeof(char), 1, fp);
+            com_lpc1114.putc(cfp);
+            if(i % 3 == 2) {
+                cfp = com_lpc1114.getc();
+                if (cfp == 0x06) {
+                    for(double j = 0.0; j < log10(static_cast<double>(i / 3 + 1)); j += 1.0)
+                        pc.putc(0x08);
+                    pc.printf("%d", i / 3 + 1);
+                    //pc.getc();
+                }//
+                else if (cfp == 0x04) {
+                    //cfp = com_lpc1114.getc();
+                    //if (cfp == 0x04) {
+                    pc.printf("\nSUCCESSED");
+                    break;
+                    //}
+                }
+            }
+            i++;
+        }
+        fclose(fp);
+    }
+
+    else if (cfp == 'c') {
+        fp = fopen("/local/SENSOR00.SAV", "wb");
+        if (fp == NULL) pc.printf("\nfopen failured\n");
+
+        com_lpc1114.putc('c');
+        pc.printf("sampling:0");
+        for(int i = 0; i < 5; i++){
+            pc.putc(0x08);
+            pc.printf("%d", com_lpc1114.getc());
+        }
+        pc.putc('\n');
+        pc.printf("\nsave data from lpc1114\n");
+        while(1) {
+            ctmp = com_lpc1114.getc();
+            if(ctmp == 0x04)break;
+            dtmp = (static_cast<unsigned short>(ctmp) << 8);
+            ctmp = com_lpc1114.getc();
+            dtmp = dtmp | ctmp;
+            ctmp = com_lpc1114.getc();
+            com_lpc1114.putc(0x06);
+            fwrite(&dtmp, sizeof(unsigned short), 1, fp);
+            fwrite(&ctmp, sizeof(char), 1, fp);
+        }
+        pc.printf("\nSUCCESSED");
+
+        fclose(fp);
+    }
+
+
+
+    pc.printf("\nLOOP\n");
+
+    echoback();
+
+    printf("dtc: 000");
+    while(1) {
+        myled = 1;
+        wait(0.2);
+        com_lpc1114.putc(0x12);//Functional
+        dtc = com_lpc1114.getc();
+        dtc = ((dtc << 8) | com_lpc1114.getc());
+        for(int j = 0; j < 3; j++)
+            pc.putc(0x08);
+        printf("%3d", dtc);
+        myled = 0;
+        wait(0.2);
+        if(pc.readable()) {
+            pc.getc();
+            pc.putc('\n');
+            break;
+        }
+    }
+
+}
diff -r 000000000000 -r 0cbd0489395a mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Jun 08 14:16:58 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/6c34061e7c34
\ No newline at end of file