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 | ||
| ||
> 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: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum