Can anyone help me, please? I am a noob at coding. I am trying to write the registers in the FDC1004 using the wire.h library. But I can not seem to get any meaningful response. Any thoughts?
/* This is a program used for capacitive sensing. FDC1004 MSP430G2553 GND ----------------------------GND VDD ----------------------------3.3V SDA--------^^4.7kOhms^^----------P1.7 (15) SCL--------^^4.7kOhms^^----------P1.6 (14) Created by: M. Keif Date: 2/7/16 */ #include <Wire.h> // Standard I2C Library int FDC = 0b1010000; //7-bit Address of FDC1004 Slave int MEAS1_MSB = 0x00; //Pointer for Register MSB portion of Measurement 1 int MEAS1_LSB = 0x01; //Pointer for Register LSB portion of Measurement 1 int CONF_MEAS1 = 0x08; //Pointer for Register Measurement 1 configuration int FDC_CONF = 0x0C; //Pointer to Configuration settings int MEAS1_CONF_VAL = 0b0000010110000000; //16-bit stream for setting registers int FDC_VAL = 0b0000110110000000; //16-bit stream for setting registers int MSB1_M1; int MSB2_M1; int LSB1_M1; void setup() { Wire.begin(); // Starts the I2C Connection Serial.begin(9600); // Starts the Serial Communication delay(500); // Wait for setup to complete before running program } void loop() { Wire.beginTransmission(FDC);//FDC address (RW bit already set?) Wire.write(CONF_MEAS1);//Register pointer (where written) Wire.write(MEAS1_CONF_VAL);//Data to write into register (what is written) Wire.endTransmission();//Sends the above Wire.beginTransmission(FDC);//FDC address (RW bit already set?) Wire.write(FDC_CONF);//Register pointer (where written) Wire.write(FDC_VAL);//Data to write into register (what is written) Wire.endTransmission();//Sends the above delay(100); Wire.beginTransmission(FDC);//FDC address (RW bit already set?) Wire.write(MEAS1_MSB);//Point to read register Wire.endTransmission();//Sends the above delay(100); Wire.requestFrom(FDC, 2); // Ask for 2 bytes to be transmitted while(Wire.available()) { MSB1_M1 = Wire.read(); // Left byte 1 (1st MSB) MSB2_M1 = Wire.read(); // Right byte 1 (2nd MSB) } Wire.beginTransmission(FDC);//FDC address (RW bit already set?) Wire.write(MEAS1_LSB);//Point to read register Wire.endTransmission();//Sends the above delay(100); Wire.requestFrom(FDC, 1); // Ask for 1 byte to be transmitted while(Wire.available()) { LSB1_M1 = Wire.read(); // Left byte 1 (LSB) } Serial.print("Bytes: "); Serial.print(MSB1_M1); Serial.print(" "); Serial.print(MSB2_M1); Serial.print(" "); Serial.print(LSB1_M1); Serial.print("\n"); }