Hoytman
2015-03-07 02:17:46 UTC
Jeg vil skrive et Arduino-program som bare mottar en streng (via I2C-ledningsbiblioteket) fra en master Arduino, så venter på en forespørsel og sender den strengen tilbake.
Her er koden min :
#include <Wire.h>void setup () {Wire.begin (4); Wire.onReceive (receiveEvent); Wire.onRequest (requestEvent);} Strengdata = ""; ugyldig sløyfe () {} ugyldig mottaksevent (int howMany) {data = ""; mens (Wire.available ()) {data + = (char) Wire.read (); }} ugyldig requestEvent () {Wire.write (data);}
Jeg leste i API-et at skriv () -funksjonen godtar en streng, men jeg får stadig "Ingen samsvarende funksjon for samtale "feil. Jeg prøvde å bare bytte ut
Wire.write (data);
med
Wire.write ("test ");
og det fungerte uten feil. Hvorfor er dette tilfelle?
Prøv dette i stedet for wire.write (data); wire.print (data);