Mej

Dependencies:   MCP3208_SWSPI SWSPI mbed

Fork of MCP3208_STM32 by Michael Chuah

Committer:
johnla
Date:
Sat Apr 15 02:02:39 2017 +0000
Revision:
12:a5672b85b4b5
Parent:
11:0c855a410d68
Whatever;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mcx 0:6c41db68c857 1 #include "mbed.h"
mcx 0:6c41db68c857 2 #include "mcp3208.h"
mcx 0:6c41db68c857 3
johnla 11:0c855a410d68 4 MCP3208 input1(PA_7, PA_6, PA_5, PA_4); //MCP3208(PinName mosi, PinName miso, PinName clk, PinName cs)
johnla 12:a5672b85b4b5 5 MCP3208 input2(PA_7, PA_6, PA_5, PA_4); //MCP3208(PinName mosi, PinName miso, PinName clk, PinName cs)
johnla 12:a5672b85b4b5 6 MCP3208 input3(PA_7, PA_6, PA_5, PA_4); //MCP3208(PinName mosi, PinName miso, PinName clk, PinName cs)
johnla 12:a5672b85b4b5 7 MCP3208 input4(PA_7, PA_6, PA_5, PA_4); //MCP3208(PinName mosi, PinName miso, PinName clk, PinName cs)
johnla 12:a5672b85b4b5 8
johnla 11:0c855a410d68 9 //MCP3208 input1(PB_5, PB_4, PB_3, PA_11);
mcx 7:983886b6ada9 10 //MCP3208 input1(p5, p6, p7, p8);
mcx 0:6c41db68c857 11
mcx 5:9568cfe486dd 12 //Serial pc(dp16,dp15);
mcx 0:6c41db68c857 13 // Serial pc(p9,p10);
johnla 11:0c855a410d68 14 //Serial pc(USBTX, USBRX);
johnla 11:0c855a410d68 15 Serial pc(PA_3, PA_1);
mcx 0:6c41db68c857 16
mcx 0:6c41db68c857 17 Ticker datalog;
mcx 4:1267e8fa59a3 18 Timer t;
mcx 0:6c41db68c857 19
mcx 0:6c41db68c857 20 char datastr0[5];
mcx 0:6c41db68c857 21 char datastr1[5];
mcx 0:6c41db68c857 22 char datastr2[5];
mcx 0:6c41db68c857 23 char datastr3[5];
mcx 0:6c41db68c857 24 char datastr4[5];
mcx 0:6c41db68c857 25 char datastr5[5];
mcx 0:6c41db68c857 26
mcx 4:1267e8fa59a3 27 char datastr6[5];
mcx 4:1267e8fa59a3 28
johnla 12:a5672b85b4b5 29 int data0, data10, data20, data30;
johnla 12:a5672b85b4b5 30 int data1, data11, data21, data31;
johnla 12:a5672b85b4b5 31 int data2, data12, data22, data32;
johnla 12:a5672b85b4b5 32 int data3, data13, data23, data33;
johnla 12:a5672b85b4b5 33 int data4, data14, data24, data34;
johnla 12:a5672b85b4b5 34 int data5, data15, data25, data35;
mcx 8:4c941f8c6d73 35
mcx 0:6c41db68c857 36 // Credit: Erik Olieman
mcx 1:cf620653d56f 37 // http://developer.mbed.org/questions/5149/Serial-port-on-LPC1114-is-slow/
mcx 0:6c41db68c857 38 void intToString(char *buffer, int value)
mcx 0:6c41db68c857 39 {
mcx 0:6c41db68c857 40 int temp;
mcx 0:6c41db68c857 41 temp = value / 1000;
mcx 0:6c41db68c857 42 buffer[0] = temp + '0';
mcx 0:6c41db68c857 43 value = value - temp * 1000;
mcx 0:6c41db68c857 44
mcx 0:6c41db68c857 45 temp = value / 100;
mcx 0:6c41db68c857 46 buffer[1] = temp + '0';
mcx 0:6c41db68c857 47 value = value - temp * 100;
mcx 0:6c41db68c857 48
mcx 0:6c41db68c857 49 temp = value / 10;
mcx 0:6c41db68c857 50 buffer[2] = temp + '0';
mcx 0:6c41db68c857 51 value = value - temp * 10;
mcx 0:6c41db68c857 52
mcx 0:6c41db68c857 53 temp = value / 1;
mcx 0:6c41db68c857 54 buffer[3] = temp + '0';
mcx 0:6c41db68c857 55 value = value - temp * 1;
mcx 0:6c41db68c857 56
mcx 0:6c41db68c857 57 buffer[4] = '\0';
mcx 0:6c41db68c857 58 }
mcx 0:6c41db68c857 59
mcx 0:6c41db68c857 60 bool tickerActivated = false;
mcx 0:6c41db68c857 61
mcx 0:6c41db68c857 62 void log_data()
mcx 0:6c41db68c857 63 {
mcx 0:6c41db68c857 64 tickerActivated = true;
mcx 0:6c41db68c857 65 }
mcx 0:6c41db68c857 66
mcx 0:6c41db68c857 67 int main()
mcx 0:6c41db68c857 68 {
mcx 4:1267e8fa59a3 69 int tt = 0;
mcx 4:1267e8fa59a3 70 t.start();
mcx 4:1267e8fa59a3 71
mcx 7:983886b6ada9 72 pc.baud(921600);
johnla 11:0c855a410d68 73 //pc.baud(9600);
mcx 0:6c41db68c857 74 pc.printf("Working!!\n\r");
mcx 0:6c41db68c857 75
mcx 7:983886b6ada9 76 datalog.attach_us(&log_data,1000); // 1000us = 1ms
mcx 0:6c41db68c857 77
mcx 1:cf620653d56f 78 while(1) {
johnla 12:a5672b85b4b5 79
mcx 8:4c941f8c6d73 80 data0 = input1.binary(0);
mcx 8:4c941f8c6d73 81 data1 = input1.binary(1);
mcx 8:4c941f8c6d73 82 data2 = input1.binary(2);
mcx 8:4c941f8c6d73 83 data3 = input1.binary(3);
mcx 8:4c941f8c6d73 84 data4 = input1.binary(4);
mcx 8:4c941f8c6d73 85 data5 = input1.binary(5);
mcx 8:4c941f8c6d73 86
johnla 12:a5672b85b4b5 87 data10 = input2.binary(0);
johnla 12:a5672b85b4b5 88 data11 = input2.binary(1);
johnla 12:a5672b85b4b5 89 data12 = input2.binary(2);
johnla 12:a5672b85b4b5 90 data13 = input2.binary(3);
johnla 12:a5672b85b4b5 91 data14 = input2.binary(4);
johnla 12:a5672b85b4b5 92 data15 = input2.binary(5);
johnla 12:a5672b85b4b5 93
johnla 12:a5672b85b4b5 94 data20 = input3.binary(0);
johnla 12:a5672b85b4b5 95 data21 = input3.binary(1);
johnla 12:a5672b85b4b5 96 data22 = input3.binary(2);
johnla 12:a5672b85b4b5 97 data23 = input3.binary(3);
johnla 12:a5672b85b4b5 98 data24 = input3.binary(4);
johnla 12:a5672b85b4b5 99 data25 = input3.binary(5);
johnla 12:a5672b85b4b5 100
johnla 12:a5672b85b4b5 101
johnla 12:a5672b85b4b5 102 data30 = input4.binary(0);
johnla 12:a5672b85b4b5 103 data31 = input4.binary(1);
johnla 12:a5672b85b4b5 104 data32 = input4.binary(2);
johnla 12:a5672b85b4b5 105 data33 = input4.binary(3);
johnla 12:a5672b85b4b5 106 data34 = input4.binary(4);
johnla 12:a5672b85b4b5 107 data35 = input4.binary(5);
johnla 12:a5672b85b4b5 108
mcx 0:6c41db68c857 109
mcx 4:1267e8fa59a3 110 // Timing methods to verify 1 ms loop time / 1 kHz update speed
mcx 4:1267e8fa59a3 111 // tt = t.read_ms();
mcx 4:1267e8fa59a3 112 tt++;
mcx 4:1267e8fa59a3 113 if(tt>=10000) {
mcx 4:1267e8fa59a3 114 tt = 0;
mcx 4:1267e8fa59a3 115 }
mcx 4:1267e8fa59a3 116 intToString(datastr6,tt);
mcx 4:1267e8fa59a3 117
mcx 0:6c41db68c857 118 if(tickerActivated == true) {
mcx 0:6c41db68c857 119 tickerActivated = false;
mcx 10:a22ee39e2282 120 pc.printf("%04d,%04d,%04d,%04d,%04d,%04d\n\r",data0,data1,data2,data3,data4,data5);
johnla 12:a5672b85b4b5 121 pc.printf("%04d,%04d,%04d,%04d,%04d,%04d\n\r",data10,data11,data12,data13,data14,data15);
johnla 12:a5672b85b4b5 122 pc.printf("%04d,%04d,%04d,%04d,%04d,%04d\n\r",data20,data21,data22,data23,data24,data25);
johnla 12:a5672b85b4b5 123 pc.printf("%04d,%04d,%04d,%04d,%04d,%04d\n\r",data30,data31,data32,data33,data34,data35);
johnla 12:a5672b85b4b5 124
mcx 0:6c41db68c857 125 }
mcx 4:1267e8fa59a3 126
mcx 0:6c41db68c857 127 }
mcx 0:6c41db68c857 128 }
mcx 0:6c41db68c857 129
mcx 0:6c41db68c857 130