Michael Chuah / Mbed 2 deprecated MCP3208_LPC1114

Dependencies:   MCP3208_Y mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "mcp3208.h"
00003 
00004 MCP3208 input1(PA_7, PA_6, PA_5, PA_4); //MCP3208(PinName mosi, PinName miso, PinName clk, PinName cs)
00005 //MCP3208 input1(PB_5, PB_4, PB_3, PA_4);
00006 
00007 //MCP3208 input1(p5, p6, p7, p8);
00008 
00009 //Serial pc(dp16,dp15);
00010 // Serial pc(p9,p10);
00011  Serial pc(USBTX, USBRX);
00012 
00013 Ticker datalog;
00014 Timer t;
00015 
00016 char datastr0[5];
00017 char datastr1[5];
00018 char datastr2[5];
00019 char datastr3[5];
00020 char datastr4[5];
00021 char datastr5[5];
00022 
00023 char datastr6[5];
00024 
00025 // Credit: Erik Olieman
00026 // http://developer.mbed.org/questions/5149/Serial-port-on-LPC1114-is-slow/
00027 void intToString(char *buffer, int value)
00028 {
00029     int temp;
00030     temp = value / 1000;
00031     buffer[0] = temp + '0';
00032     value = value - temp * 1000;
00033 
00034     temp = value / 100;
00035     buffer[1] = temp + '0';
00036     value = value - temp * 100;
00037 
00038     temp = value / 10;
00039     buffer[2] = temp + '0';
00040     value = value - temp * 10;
00041 
00042     temp = value / 1;
00043     buffer[3] = temp + '0';
00044     value = value - temp * 1;
00045 
00046     buffer[4] = '\0';
00047 }
00048 
00049 bool tickerActivated = false;
00050 
00051 void log_data()
00052 {
00053     tickerActivated = true;
00054 }
00055 
00056 int main()
00057 {
00058     int tt = 0;
00059     t.start();
00060 
00061     pc.baud(921600);
00062     pc.printf("Working!!\n\r");
00063 
00064     datalog.attach_us(&log_data,1000); // 1000us = 1ms
00065 
00066     while(1) {
00067         intToString(datastr0,input1.binary(0));
00068         intToString(datastr1,input1.binary(1));
00069         intToString(datastr2,input1.binary(2));
00070         intToString(datastr3,input1.binary(3));
00071         intToString(datastr4,input1.binary(4));
00072         intToString(datastr5,input1.binary(5));
00073 
00074         // Timing methods to verify 1 ms loop time / 1 kHz update speed
00075         // tt = t.read_ms();
00076         tt++;
00077         if(tt>=10000) {
00078             tt = 0;
00079         }
00080         intToString(datastr6,tt);
00081 
00082         if(tickerActivated == true) {
00083             tickerActivated = false;
00084             pc.printf("%s,%s,%s,%s,%s,%s\n\r",datastr0,datastr1,datastr2,datastr3,datastr4,datastr5);
00085         }
00086 
00087     }
00088 }
00089 
00090