TsctlTWIReadCExamples

From embeddedTS Manuals
int main(int argc, char* argv[]) {
  TWI* twi = TWIInit(0);
  int ret;
  TWIResult tret;

  if ((ret=twi->Lock(twi,0,1)) < 0) {
    printf("TWI lock error %d\n", ret);
    return 1;
  }
  // Read 1 byte from device DEV_ID at address REG_ADRS

  // Allocate a 1 element libtsctl array of char to hold result
  ArrayAutoOfSize(char,val,1);
  if ((tret = twi->Read(twi,DEV_ID,1,REG_ADRS,val)) != TWISuccess) {
    printf("Error reading TWI: %d\n",tret);
    return 1;
  }

  twi->Unlock(twi,0,0);
}