Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Probleme mit PCF 8574 Kategorie: I²C-Bus (von Jan - 15.08.2011 20:40)
Als Antwort auf Probleme mit PCF 8574 von Marco - 14.08.2011 14:03
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board
> Hallo, also ich habe ein CC Pro Application Board Mega 32.
>
> Habe gerade erst angefangen mit dem Board und teste Jetzt alle Funktionen durch, nun wollte ich den
> Portexpander PFC 8574 ansprechen.
>
> Leider habe ich noch so einige Probleme.
>
> Die Pins auf dem Application board sind gesetzt und somit sollten ja die Pullups dran sein.
>
> Der 8574 hat seine versorgungsspannung und die 3 addressierungs pins liegen auf GND was dann
> eine 40 er adresse ergeben sollte.
>
> Ich habe erstmal 1 LED an P0 angeschlossen ca 150 Ohm an + und die LED an P0.
>
> Leider tut sich da garnichts.
> Ich hoffe ihr könnt mir mal auf die sprünge helfen, Ob an dem Programm was nicht stimmt oder ob ich
> da etwas nicht richtig verdrahtet habe. Evtl gibts auch ne möglichkeit die Kommunikation mit dem
> 8574 zu testen.
>
> MFG Marco
>
> Ich habe das folgende Demo Programm gefunden und getestet.
>
> ==========================================
> #define PCF8574_W &H40
> #define PCF8574_R &H41
>
> Dim Zeile1(9) As Char
> Dim Zeile2(9) As Char
> Dim X As Word
> Dim Port As Byte
>
> Sub main()
>
>     'Init
>     I2C_Init(I2C_100kHz)                    'I2C Bit Rate: 100 kHz
>     LCD_start()                             'LCD Init
>
>     'Info
>     Zeile1 = "PCF8571T"
>     LCD_Locate(1,1) : LCD_WriteText(Zeile1)
>     Zeile2 = "  DEMO  "
>     LCD_Locate(2,1) : LCD_WriteText(Zeile2)
>     AbsDelay(2500)
>     LCD_start()
>
>
> '-----------------------------------------------------------------------
> '   Lauflicht
> '-----------------------------------------------------------------------
>
>     Lab Lauflicht
>
>     Zeile1 = "Lauf-   "
>     LCD_Locate(1,1) : LCD_WriteText(Zeile1)
>     Zeile2 = "Licht   "
>     LCD_Locate(2,1) : LCD_WriteText(Zeile2)
>
>     X = &H1
>
>     Do While (1)
>        X = X << 1
>        I2C_Start()
>        I2C_Write(PCF8574_W)
>        
>        I2C_Write(X)
>        I2C_Stop()
>        AbsDelay(250)
>        If X = &H0 Then
>          Goto Lauflicht
>        End If
>     End While
>
>      
> End Sub
> ====================================
Hallo Marco,

im Handbuch zum C-Control steht, dass der Bitschiebe- Operator "<<" nur in Verbindung mit dem
Datentyp Integer verwendet werden darf.
Probier mal
Dim X As Integer
aus.

Jan


    Antwort schreiben


Antworten: