atlantex
13.09.2005, 18:49
Hallo,
ich möchte gern mittels I2C Bus und PCF8574 ein paar Lampen steuern, ich bekomme es einfach nicht hin die Pins P0-P7 am PCF8574 einzeln anzusteuern. Gibt es da irgendwo ein Howto wie man das unter C oder C++ machen kann ? Was ich mit google gefunden habe war so kryptisch dass ich als Anfänger kaum was damit anfangen kann, oder für Windows und da gibt es recht viele Beispiele und sogar fertige Programme.
Ich habe bereits einen LM75 als Temperatursensor angeschlossen und er funktioniert problemlos, den Verbindungsaufbau habe ich soweit auch verstanden.
Zum LM75 gibt es eine Beschreibung zu den Registern, also wo ich was auslesen muss, sowas konnte ich leider bis jetzt nicht für den PCF finden.
Hier mal ein Stück Code, wie ich die Verbindung initialisiere:
#include <stdio.h>
#include <sys/ioctl.h>
#include "/usr/include/linux/i2c.h"
#define PCF8574 0x20
int main(int argc,char** argv)
{
char buf[5];
int f;
if ( (f = open("/dev/i2c0",O_RDWR)) < 0 ) {
perror( "Error in open");
exit(1);
}
ioctl(f,I2C_SLAVE,PCF8574);
printf( "\n\n test" );
?
?
?
?
return close(f);
}
Nun weis ich nicht weiter :-(
ich möchte lediglich einzelne Pins schalten können um dann mittels Relais eine Lampe zu schalten.
Könnte mir bitte jemand helfen ?
Grüsse
atlantex
ich möchte gern mittels I2C Bus und PCF8574 ein paar Lampen steuern, ich bekomme es einfach nicht hin die Pins P0-P7 am PCF8574 einzeln anzusteuern. Gibt es da irgendwo ein Howto wie man das unter C oder C++ machen kann ? Was ich mit google gefunden habe war so kryptisch dass ich als Anfänger kaum was damit anfangen kann, oder für Windows und da gibt es recht viele Beispiele und sogar fertige Programme.
Ich habe bereits einen LM75 als Temperatursensor angeschlossen und er funktioniert problemlos, den Verbindungsaufbau habe ich soweit auch verstanden.
Zum LM75 gibt es eine Beschreibung zu den Registern, also wo ich was auslesen muss, sowas konnte ich leider bis jetzt nicht für den PCF finden.
Hier mal ein Stück Code, wie ich die Verbindung initialisiere:
#include <stdio.h>
#include <sys/ioctl.h>
#include "/usr/include/linux/i2c.h"
#define PCF8574 0x20
int main(int argc,char** argv)
{
char buf[5];
int f;
if ( (f = open("/dev/i2c0",O_RDWR)) < 0 ) {
perror( "Error in open");
exit(1);
}
ioctl(f,I2C_SLAVE,PCF8574);
printf( "\n\n test" );
?
?
?
?
return close(f);
}
Nun weis ich nicht weiter :-(
ich möchte lediglich einzelne Pins schalten können um dann mittels Relais eine Lampe zu schalten.
Könnte mir bitte jemand helfen ?
Grüsse
atlantex