DEAF BOY
03.09.2007, 17:17
Hallo,
Ich habe 1. I2C mit dem Taster und LED erfolgreich gesteuert. Nun möchte ich 2. I2C einbauen. Ich möchte LED auf 2. I2C zum Leuchten bringen, wenn ich Taster auf 1. I2C drücke. Irgendwie geht nicht.
http://img210.imageshack.us/img210/785/i2cvx6.th.jpg (http://img210.imageshack.us/my.php?image=i2cvx6.jpg)
' IC1 PCF8574
' *-----------*
' GND -> -|A0 P VCC|- <- +5V
' GND -> -|A1 C SDA|- <-> SDA/Atmega8
' GND -> -|A2 F SDL|- <-> SCL/Atmega8
' +5V-Taster -> -|P0 8 INT|-
' -|P1 5 P7|-
' -|P2 7 P6|-
' -|P3 4 P5|-
' GND -> -|GND P4|-
' *-----------*
' IC2 PCF8574
' *-----------*
' +5V -> -|A0 P VCC|- <- +5V
' GND -> -|A1 C SDA|- <-> SDA/Atmega8
' GND -> -|A2 F SDL|- <-> SCL/Atmega8
' -|P0 8 INT|-
' -|P1 5 P7|-
' -|P2 7 P6|-
' -|P3 4 P5|-
' GND -> -|GND P4|- -> [1K]-BC547-[1K]-[LED rot ]-GND
' *-----------*
$regfile = "m8def.dat"
Config Sda = Portc.4
Config Scl = Portc.5
Dim X As Byte
I2cstart
I2cwbyte &B01000010 'IC2 PCF8574
I2cwbyte &B00000000 'IC2 Ports auf Low setzen
I2cstop
Do
I2cstart
I2cwbyte &B01000001 'IC1 PCF8574
I2crbyte X , Nack 'IC1 P0 abfragen
I2cstop
If X = 1 Then 'IC1 P0 auf High
I2cstart
I2cwbyte &B01000010 'IC2 PCF8574
I2cwbyte &B00010000 'IC2 P4 auf High setzen
I2cstop
Else 'IC1 P0 auf Low
I2cstart
I2cwbyte &B01000010 'IC2 PCF8574
I2cwbyte &B00000000 'IC2 P4 auf Low setzen
I2cstop
End If
Loop
Ich habe 1. I2C mit dem Taster und LED erfolgreich gesteuert. Nun möchte ich 2. I2C einbauen. Ich möchte LED auf 2. I2C zum Leuchten bringen, wenn ich Taster auf 1. I2C drücke. Irgendwie geht nicht.
http://img210.imageshack.us/img210/785/i2cvx6.th.jpg (http://img210.imageshack.us/my.php?image=i2cvx6.jpg)
' IC1 PCF8574
' *-----------*
' GND -> -|A0 P VCC|- <- +5V
' GND -> -|A1 C SDA|- <-> SDA/Atmega8
' GND -> -|A2 F SDL|- <-> SCL/Atmega8
' +5V-Taster -> -|P0 8 INT|-
' -|P1 5 P7|-
' -|P2 7 P6|-
' -|P3 4 P5|-
' GND -> -|GND P4|-
' *-----------*
' IC2 PCF8574
' *-----------*
' +5V -> -|A0 P VCC|- <- +5V
' GND -> -|A1 C SDA|- <-> SDA/Atmega8
' GND -> -|A2 F SDL|- <-> SCL/Atmega8
' -|P0 8 INT|-
' -|P1 5 P7|-
' -|P2 7 P6|-
' -|P3 4 P5|-
' GND -> -|GND P4|- -> [1K]-BC547-[1K]-[LED rot ]-GND
' *-----------*
$regfile = "m8def.dat"
Config Sda = Portc.4
Config Scl = Portc.5
Dim X As Byte
I2cstart
I2cwbyte &B01000010 'IC2 PCF8574
I2cwbyte &B00000000 'IC2 Ports auf Low setzen
I2cstop
Do
I2cstart
I2cwbyte &B01000001 'IC1 PCF8574
I2crbyte X , Nack 'IC1 P0 abfragen
I2cstop
If X = 1 Then 'IC1 P0 auf High
I2cstart
I2cwbyte &B01000010 'IC2 PCF8574
I2cwbyte &B00010000 'IC2 P4 auf High setzen
I2cstop
Else 'IC1 P0 auf Low
I2cstart
I2cwbyte &B01000010 'IC2 PCF8574
I2cwbyte &B00000000 'IC2 P4 auf Low setzen
I2cstop
End If
Loop