INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[gelöst] was ist falsch bei Wire.onReceive()?
26.09.2015, 16:58 (Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2015 17:38 von HaWe.)
Beitrag #1
[gelöst] was ist falsch bei Wire.onReceive()?
hallo,
ich versuche meinen Arduino als I2C Slave zu konfigurieren, bekomme aber für mich unverständliche Fehlermeldungen - was mache ich falsch?

Code:
#define  SLAVE_ADDRESS 0x04
#define  MSGSIZE  30
byte     RecvArray[MSGSIZE];
byte     SendArray[MSGSIZE];

void setup() {
   Serial.begin(115200);
  
   // Wire (i2c)
   Wire.begin(SLAVE_ADDRESS);  //  start Arduino as a I2C slave, addr=0x04 (7-bit coded)
   Wire.onReceive(receiveData);
   Wire.onRequest(sendData);
}


void receiveData() {
    int32_t i;
    byte val;
      
    while(Wire.available()<MSGSIZE) ; // wait for 30  bytes to complete
    i=0;  // init counter var
    while(Wire.available()>0)    // read all bytes
    {
      val=Wire.read();
      RecvArray[i++]=val;
    }
}


// callback for sending data
void sendData()
{
  Wire.write(SendArray, MSGSIZE); // send 30 bytes back to master..
}

Zitat:i2cEV30001.ino: In function 'void setup()':
i2cEV30001:368: error: invalid conversion from 'void (*)()' to 'void (*)(int)' [-fpermissive]
In file included from i2cEV30001.ino:2:0:
C:\Programme\Arduino\hardware\arduino\avr\libraries\Wire/Wire.h:67:10: error: initializing argument 1 of 'void TwoWire::onReceive(void (*)(int))' [-fpermissive]
void onReceive( void (*)(int) );
^
invalid conversion from 'void (*)()' to 'void (*)(int)' [-fpermissive]

edit:
gelöst.

Deklaration von receiveData muss lauten

void receiveData(int16_t byteCount) // obwohl Paramter nicht selber benutzt wird
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  [gelöst] wire.h blockiert analogRead Rupert 6 75 08.12.2016 18:03
Letzter Beitrag: hotsystems
  Mega: Hardware i2c bus speed (Wire.) verändern? HaWe 10 2.936 14.07.2016 20:09
Letzter Beitrag: Mathias
  Inhalt einer Variable mit per Virtual Wire versenden toto1975 17 1.774 26.03.2016 18:57
Letzter Beitrag: hotsystems
  OLED Display anzeige von Logo falsch ! b3ta 0 339 23.01.2016 15:12
Letzter Beitrag: b3ta
  erledigt: atan2 rechnet falsch? HaWe 0 345 30.11.2015 17:29
Letzter Beitrag: HaWe
  Wire.h und SD.h nicht kompatibel? hulofu 13 1.120 25.11.2015 20:50
Letzter Beitrag: Retian
  Probleme mit Ethernet-Shild und <wire.h> Arne 5 1.006 08.09.2015 21:18
Letzter Beitrag: Arne
  String falsch verstanden? hougy 20 1.805 07.07.2015 14:53
Letzter Beitrag: HaWe
  Programmierung des MPU6050 nur mit Wire.h ? HaWe 2 652 06.05.2015 15:31
Letzter Beitrag: HaWe
  Probleme beim Senden einer Stringvariablen per Wire.write scritch 8 1.859 05.05.2015 08:40
Letzter Beitrag: Thorsten Pferdekämper

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste