Re: Abfrage Touch-Tasten am eDIP240 Kategorie: Programmierung C (von LK - 13.01.2008 3:28) | ||
Als Antwort auf Abfrage Touch-Tasten am eDIP240 von Werner - 20.11.2007 12:26 | ||
| ||
byte fr_Taste (void) { I2C_Start(); I2C_Write(0xDE); //Adresse EDIP 240 I2C_Write(0x12); I2C_Write(1); I2C_Write('S'); I2C_Write((0x12+1+'S')%256); I2C_Stop(); I2C_Start(); I2C_Write(0xDF); j=I2C_Read_ACK(); // Anzahl der zu lesenden Tastendrucke for (i=0;i k=I2C_Read_ACK(); } k=I2C_Read_NACK(); I2C_Stop(); return k; } > Hallo zusammen, > > ich versuche mich an der Programmierung eines Displays > eDIP240 am I2C-Bus mit Touchfolie. Die Ausgabe (Text und > auch Grafik)klappt prima, aber ich bekomme die Abfrage > von Touchtasten nicht hin. Bin für jeden Tipp dankbar! > > Hier folgt das Programmfragment, mit dem ich bisher noch am > weitesten gekommen bin. Ich habe 2 Tasten definiert mit > unterschiedlichen Down-Codes. > > > // Warten auf Signal von Pin20 des Displays: > do > { > i= Port_ReadBit(PA7); // Status Sende-Puffer > }while(i != 0); > > // Befehl "DC2 1 S" schicken: Inhalt Sendepuffer anfordern > I2C_Start(); > I2C_Write(WriAdr); > I2C_Write(DC2); > I2C_Write(1); > I2C_Write('S'); > I2C_Write(bcc); > > // warten auf ACK... > I2C_Start(); > I2C_Write(ReadAdr); > do > { > i= I2C_Read_ACK(); > }while(i != ACK); > > // Ausleseversuche: > I2C_Start(); > I2C_Write(ReadAdr); > I2C_Start(); // ohne diesen Start hängt's > i= I2C_Read_NACK(); // Hier kommt immer 223=0xDF an. > i= I2C_Read_NACK(); // Und ab hier kommt nur noch FF an. > // Gleiches Ergebnis mit Read_ACK. > . > . > I2C_Stop(); > > > Was mache ich falsch? Habe keine Idee mehr... > > Gru� und auf Hilfe hoffend > Werner > | ||
Antwort schreiben Antworten: Re: Abfrage Touch-Tasten am eDIP240 (von Hans Dampf - 27.02.2008 23:16) Re: Abfrage Touch-Tasten am eDIP240 (von Rainer - 28.02.2008 18:44) Re: Abfrage Touch-Tasten am eDIP240 (von Hans Dampf - 29.02.2008 8:34) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum