a

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
kamoshik
Date:
Fri Apr 03 15:10:03 2015 +0000
Commit message:
a

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	Fri Apr 03 15:10:03 2015 +0000
@@ -0,0 +1,89 @@
+#include "mbed.h"
+
+#define ADDR 0x2A
+
+
+DigitalOut myled(LED1);
+DigitalOut myled2(LED2);
+I2C         i2c( p28, p27 );
+Serial pc(USBTX, USBRX); // tx, rx 
+//Serial device(p9, p10);  // tx, rx
+
+unsigned int red = 0;
+unsigned int green = 0;
+unsigned int blue = 0;
+unsigned int ir = 0;
+
+
+void callback() {
+    // Note: you need to actually read from the serial to clear the RX interrupt
+    printf("%c\n", pc.getc());
+    myled2 = !myled2;
+}
+
+void GetRGB(){
+  int databuf =0;
+   char cmd[2];
+  char dat[8];
+  int a =0;
+    /* //manual exposure mode
+  setManualtGain(100);
+  Wire.beginTransmission(device_address);
+  Wire.write(control_reg);
+  Wire.write(0x84); // ADC reset LowGain wakeup
+  Wire.endTransmission(false);
+  Wire.beginTransmission(device_address);
+  Wire.write(control_reg);
+  Wire.write(0x04); //start
+  Wire.endTransmission(true);
+  */
+
+  //preset gain mode exposure time (each color ch)
+  //  00 = 87.5us
+  //  01= 1.4ms
+  //  10= 22.4ms
+  //  11= 179.2ms
+  cmd[0] = 0x00;
+  cmd[1] = 0x8A;
+ // i2c.start();
+  a = i2c.write(ADDR , cmd , 2);
+  cmd[0] = 0x00;
+  cmd[1] = 0x0A;
+   i2c.write(ADDR , cmd , 2);
+//  printf("b=%d",a);
+
+  wait(0.1);
+
+  cmd[0] = 0x03;
+ //i2c.start();
+  a = i2c.write(ADDR , cmd , 1);
+  i2c.read(ADDR , dat , 8);//引数trueでNACK出力
+
+
+  red = dat[0]<<8 | dat[1];
+  green = dat[2]<<8 | dat[3];
+  blue = dat[4]<<8 | dat[5];
+  ir = dat[6]<<8 | dat[7];
+
+
+}
+
+int main()
+{
+  i2c.frequency(100000);
+
+    //pc.attach(&callback);
+    pc.baud(115200);
+ //   device.baud(115200);
+    while(1) {
+        myled = 1;
+        wait(0.25);
+        myled = 0;
+        wait(0.25);
+
+        GetRGB();
+
+        pc.printf("R=%5d  G=%5d  B=%5d  I=%5d\n",red,green,blue,ir);
+//        device.printf("12345\n");
+        }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Apr 03 15:10:03 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/487b796308b0
\ No newline at end of file