ADC Niose test Connect four analog signals to your MBED. and then run the Windows app. The four traces are displayed on an oscilloscope like display. I have used a USB HID DEVICE link, so connections to D+, D- are required. The MBED code is otherwise quite basic, So you can modify it to your own test needs. Additionaly, there is a 16 bit count value, in my MBED code Mainly to test if MSB & LSB are correct.

Dependencies:   mbed

Committer:
ceri
Date:
Sat Nov 19 22:54:22 2011 +0000
Revision:
0:cbe01b678bd4
just enough to work

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ceri 0:cbe01b678bd4 1 #include "mbed.h"
ceri 0:cbe01b678bd4 2 #include "USBHID.h"
ceri 0:cbe01b678bd4 3 /*
ceri 0:cbe01b678bd4 4 DigitalOut myled1(LED1);
ceri 0:cbe01b678bd4 5 DigitalOut myled2(LED2);
ceri 0:cbe01b678bd4 6 DigitalOut myled3(LED3);
ceri 0:cbe01b678bd4 7 DigitalOut myled4(LED4);
ceri 0:cbe01b678bd4 8 */
ceri 0:cbe01b678bd4 9 BusOut leds(LED1,LED2,LED3,LED4);
ceri 0:cbe01b678bd4 10 AnalogIn PortA (p20);
ceri 0:cbe01b678bd4 11 AnalogIn PortB (p19);
ceri 0:cbe01b678bd4 12 AnalogIn PortC (p18);
ceri 0:cbe01b678bd4 13 AnalogIn PortD (p17);
ceri 0:cbe01b678bd4 14
ceri 0:cbe01b678bd4 15 int a, x, t, k;
ceri 0:cbe01b678bd4 16 int An_a, An_b, An_c, An_d;
ceri 0:cbe01b678bd4 17
ceri 0:cbe01b678bd4 18 #define HID_MessageSize 18
ceri 0:cbe01b678bd4 19
ceri 0:cbe01b678bd4 20 //This report will contain data to be sent
ceri 0:cbe01b678bd4 21 HID_REPORT send_report;
ceri 0:cbe01b678bd4 22 HID_REPORT recv;
ceri 0:cbe01b678bd4 23
ceri 0:cbe01b678bd4 24 //We declare a USBHID device
ceri 0:cbe01b678bd4 25 USBHID hid_A (HID_MessageSize, HID_MessageSize,0xcbc,0x123,5); // In Length, Out Length, VID, PID, Release
ceri 0:cbe01b678bd4 26 //USBHID hid_B (HID_MessageSize, HID_MessageSize,0xcbc,0x123,6);
ceri 0:cbe01b678bd4 27
ceri 0:cbe01b678bd4 28
ceri 0:cbe01b678bd4 29 // Strings are in "USBDevice.cpp"
ceri 0:cbe01b678bd4 30
ceri 0:cbe01b678bd4 31
ceri 0:cbe01b678bd4 32 //BusOut leds(LED1,LED2,LED3,LED4);
ceri 0:cbe01b678bd4 33
ceri 0:cbe01b678bd4 34 int main(void) {
ceri 0:cbe01b678bd4 35
ceri 0:cbe01b678bd4 36 //Fill the report
ceri 0:cbe01b678bd4 37 for (int i = 0; i < HID_MessageSize; i++)
ceri 0:cbe01b678bd4 38 send_report.data[i] = i;
ceri 0:cbe01b678bd4 39 send_report.length = HID_MessageSize;
ceri 0:cbe01b678bd4 40
ceri 0:cbe01b678bd4 41 //jjhhggrr
ceri 0:cbe01b678bd4 42
ceri 0:cbe01b678bd4 43 while (1)
ceri 0:cbe01b678bd4 44 {
ceri 0:cbe01b678bd4 45 //Send the report
ceri 0:cbe01b678bd4 46
ceri 0:cbe01b678bd4 47 // if (hid_A.readNB(&recv))
ceri 0:cbe01b678bd4 48 {
ceri 0:cbe01b678bd4 49 leds = recv.data[0];
ceri 0:cbe01b678bd4 50 send_report.data[1]++;
ceri 0:cbe01b678bd4 51
ceri 0:cbe01b678bd4 52 // just a test to see how fast send could be ..
ceri 0:cbe01b678bd4 53
ceri 0:cbe01b678bd4 54 for (x=0; x<200;x++)
ceri 0:cbe01b678bd4 55 {
ceri 0:cbe01b678bd4 56
ceri 0:cbe01b678bd4 57 An_a = PortA.read_u16();
ceri 0:cbe01b678bd4 58 An_b = PortB.read_u16();
ceri 0:cbe01b678bd4 59 An_c = PortC.read_u16();
ceri 0:cbe01b678bd4 60 An_d = PortD.read_u16();
ceri 0:cbe01b678bd4 61
ceri 0:cbe01b678bd4 62 send_report.data[3] = An_a & 0xff;
ceri 0:cbe01b678bd4 63 send_report.data[2] = An_a >>8;
ceri 0:cbe01b678bd4 64
ceri 0:cbe01b678bd4 65 send_report.data[5] = An_b & 0xff;
ceri 0:cbe01b678bd4 66 send_report.data[4] = An_b >>8;
ceri 0:cbe01b678bd4 67
ceri 0:cbe01b678bd4 68 send_report.data[7] = An_c & 0xff;
ceri 0:cbe01b678bd4 69 send_report.data[6] = An_c >>8;
ceri 0:cbe01b678bd4 70
ceri 0:cbe01b678bd4 71 send_report.data[9] = An_d & 0xff;
ceri 0:cbe01b678bd4 72 send_report.data[8] = An_d >>8;;
ceri 0:cbe01b678bd4 73
ceri 0:cbe01b678bd4 74 send_report.data[11] = k & 0xff;
ceri 0:cbe01b678bd4 75 send_report.data[10] = k >>8;
ceri 0:cbe01b678bd4 76
ceri 0:cbe01b678bd4 77 k++;
ceri 0:cbe01b678bd4 78
ceri 0:cbe01b678bd4 79 send_report.data[16] = x;
ceri 0:cbe01b678bd4 80 hid_A.send(&send_report);
ceri 0:cbe01b678bd4 81 }
ceri 0:cbe01b678bd4 82
ceri 0:cbe01b678bd4 83
ceri 0:cbe01b678bd4 84 }
ceri 0:cbe01b678bd4 85 send_report.data[HID_MessageSize-2]++;
ceri 0:cbe01b678bd4 86 hid_A.send(&send_report);
ceri 0:cbe01b678bd4 87 wait(0.5);
ceri 0:cbe01b678bd4 88 }
ceri 0:cbe01b678bd4 89 }