i2C question on Wire.onRequest()


hello. knowledge wire.onrequest() allows send send data master on request. if want request 2 different types of data?
for example,

master request slave 'ok' on start up. after that
master request again slave input data.

code: [select]
void startuptest()
{
  wire.requestfrom(8, 4);
  while (wire.available())
  {
    char starta = wire.read(); // receive byte character
    serial.print(starta);         // print character   
  }
}

void requesta()
{
  wire.requestfrom(8, 6);

  while(wire.available())
  {
    float = wire.read();
    float displaya = / 255;
    serial.print(displaya);
  }
}

void loop() {

  startuptest();
 
  while(1){
    requesta();
 }
}


was wondering if above code work?
therefore question is, how let slave know difference between first request , other request?



no, because not compile without code. please post whole code only! http://snippets-r-us.com

but assuming setup serial.begin() , wire.begin() (and place startuptest() instead of ugly while(1)), kind of. how slave know difference between first request , other request?

and float single byte not going work ;) float 4 bytes :)


Arduino Forum > Using Arduino > Programming Questions > i2C question on Wire.onRequest()


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor