simonprein
09.03.2014, 21:01
HI
ich übermitle über i2c daten von einem ft controler zu arduino und jetzt möchte ich den einfach auswerten. der folgende sketch hat tadelos funktioniert bis ich die if abfrage eingebaut habe bitte um hilfe.
// Wire Slave Receiver
// by Nicholas Zambetti <http://www.zambetti.com>
// Demonstrates use of the Wire library
// Receives data as an I2C/TWI slave device
// Refer to the "Wire Master Writer" example for use with this
// Created 29 March 2006
// This example code is in the public domain.
#include <Wire.h>
void setup()
{
Wire.begin(4); // join i2c bus with address #4
Wire.onReceive(receiveEvent); // register event
Serial.begin(9600); // start serial for output
pinMode (2,OUTPUT);
}
void loop()
{
}
// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany)
{
while(1 < Wire.available()) // loop through all but the last
{
char c = Wire.read(); // receive byte as a character
Serial.print(c); // print the character
}
int x = Wire.read(); // receive byte as an integer
Serial.println(x); // print the integer
if (x=0)
{ digitalWrite (2,LOW); }
else
{digitalWrite (2,HIGH);}
}
ich übermitle über i2c daten von einem ft controler zu arduino und jetzt möchte ich den einfach auswerten. der folgende sketch hat tadelos funktioniert bis ich die if abfrage eingebaut habe bitte um hilfe.
// Wire Slave Receiver
// by Nicholas Zambetti <http://www.zambetti.com>
// Demonstrates use of the Wire library
// Receives data as an I2C/TWI slave device
// Refer to the "Wire Master Writer" example for use with this
// Created 29 March 2006
// This example code is in the public domain.
#include <Wire.h>
void setup()
{
Wire.begin(4); // join i2c bus with address #4
Wire.onReceive(receiveEvent); // register event
Serial.begin(9600); // start serial for output
pinMode (2,OUTPUT);
}
void loop()
{
}
// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany)
{
while(1 < Wire.available()) // loop through all but the last
{
char c = Wire.read(); // receive byte as a character
Serial.print(c); // print the character
}
int x = Wire.read(); // receive byte as an integer
Serial.println(x); // print the integer
if (x=0)
{ digitalWrite (2,LOW); }
else
{digitalWrite (2,HIGH);}
}