Probleme mit dem I2C Bus und PCF8574
Ich versuche gerade eine PCF8574 anzusteuern. Dieser Zeigt aber keine Reaktion. Ich habe die SCL und SDA mit oder ohne pullup getestet. Beides mal das gleiche Ergebnis. Ich habe mir eine Relaisplatine selbst gebaut. Alle Port des PCF stehen auf high. Normalerweise sollte jedes 2te port mit dem Code auf low schalten. Das Err Flag wird bei keiner Adresse gesetzt.
Was habe ich da nur falsch gemacht?
Hier der Code:
Code:
$regfile = "M16DEF.DAT"
$crystal = 1000000
$baud = 2400
'RELAIS
Config I2cdelay = 100
Config Porta = Output
Config Sda = Porta.1
Config Scl = Porta.0
Porta.0 = 1
Porta.1 = 1
Dim I As Byte
Do
For I = 1 To 255
I2csend I , &HAA
Print "Adresse: " ; I ; " ERR: " ; Err
If Err = 0 Then
Print "Adresse: " ; I ; "gefunden"
Wait 5
End If
Next I
Loop
Vielen Dank für Eure Tipps
Ingo
Re: Probleme mit dem I2C Bus und PCF8574
Hallo,
ich bin neu hier aber habe hier schon viel gelesen, ich habe das Programm etwas umgeshrieben und auch einen Erfolg erzielt dass ich die Adresse des 8583 anzeigen kann. Wenn ich nun aber einen 8574 anschließe reagieren zwar die LED's aber es kommt keine Adresse zurück.
Ich hab schon alles Probiert und nicht die Möglichkeit gefunden dass es geht.
Vielleicht hat von euch jemand eine Idee
Code:
$regfile "8515def.dat"
$crystal = 4000000
'$include "ac_lcd.inc"
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Lcd = 20 * 4
Cls
Config I2cdelay = 10
Config Porta = Output
Config Scl = Porta.6
Config Sda = Porta.7
Porta.6 = 0
Porta.7 = 0
Dim I As Byte
Do
For I = 1 To 255
I2csend I , &H40
Locate 1 , 1 : Lcd "Adr: " ; I ; " dez " ; Hex(i) ; " hex"
Locate 2 , 1 : Lcd "Adr: " ; Bin(i)
Locate 4 , 1 : Lcd "Error: " ; Err
If Err = 0 Then Goto Ende
'End If
'Waitms 100
Next I
Loop
Ende:
Locate 4 , 1 : Lcd "Adresse: " ; Hex(i) ; " gefunden"
End
Gruß PiCus