PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduinon i2c auswertung



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);}
}

PlasmaTubeI²C
09.03.2014, 22:08
Servus,

Welches Arduino-Board nutzt du denn? Nen leonardo?

Sisor
09.03.2014, 23:19
if (x == 0)...!!!

Z.Z. wird in den if() Klammern die Variable x gleich 0 gesetzt. Man könnte die jetztige Version auch so schreiben:

x=0;
if(x)...

Somit ist die Bedingung nie erfüllt.

simonprein
11.03.2014, 21:25
Uno. Danke für die Antowort