Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 0:0cbd0489395a, committed 2016-06-08
- 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 |
--- /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;
+ }
+ }
+
+}
--- /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