Pages: [1]   Go Down
Author Topic: EA eDIPTFT43-A an Arduino Board  (Read 1193 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
ich will das o.g. Display über I2C ansteuern. Ich habe es wie auf Seite 7 der TFT Anleitung mit dem Arduino Board Verbunden:
http://www.lcd-module.de/pdf/grafik/ediptft43-a.pdf

1  - GND
2  - 5V
5  - 5V
12 - GND
13 - GND
14 - SDA
15 - SCL

Ich erhalte einen Blinkenden Cursor. Soweit so gut.
Ich will mit folgendem Code ein Clear Screen über das SMALL Protokoll senden und als Rückgabewert ein ACK erhalten:

#include <Wire.h>
#define  i2c_eaDIP  0xDE        // Ba2|Ba1|Ba0|Sa2|Sa1|Sa0|R/W

byte bcc;
byte *buffer = 0;

void setup()
{
  Serial.begin(9600);
  Wire.begin();                       // join i2c bus (address optional for master)
}

void loop()
{
  delay(100);
  Wire.beginTransmission(i2c_eaDIP);  // transmit to device #0xDE
  Display_loeschen();
  Wire.endTransmission();     // stop transmitting
  delay(100);
  Wire.requestFrom(0xDF, 1);

  int c = 0;
  
  for ( c = 0; c < 1; c++ )
    if (Wire.available()) {
      buffer[c] = Wire.receive();
      Serial.println("Daten vorhanden!");    
    }

  Serial.println(*buffer, HEX);

  for(;smiley-wink
    ;
}

void Display_loeschen() {
  Wire.send(0x11);   // <DC1>
  Wire.send(0x03);   // len
  Wire.send(0x1B);   // ESC
  Wire.send('D');
  Wire.send('L');
  bcc = ( 0x11 + 0x03 + 0x1B + 'D' + 'L' ) % 0x400;
  Wire.send(bcc);
  //D = 0x44
  //L = 0x1B
}

Die kommunikation scheint nicht zu klappen, da das TFT keine Daten zurücksendet. Kann mir da jemand weiterhelfen?

Danke,
 Gruß Marco
Logged

Bonn, Germany
Offline Offline
God Member
*****
Karma: 2
Posts: 903
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hm.. ich wuerde einmal ganz pauschal versuchen mit WireOnReceive->http://arduino.cc/en/Reference/WireOnReceive eine Art 'Event' zu programmieren, dass aufgerufen wird falls Daten erscheinen. Da du Delays nutzt koennte es naemlich sein, dass die Kommunikation ein wenig gestoert sein koennte..

*edit*
Achja, wo hast du das Modul her? Ich faende das extrem interessant..
« Last Edit: December 01, 2009, 03:57:59 am by Nachtwind » Logged

Believe me, Mike, I calculated the odds of this succeeding against the odds I was doing something incredibly stupid[ch8230] and I went ahead

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Das Modul habe ich bei Reichelt bestellt.
Du brings mich auf was, es könnte in der Tat ein Timing Problem sein.

Gruß,
 Marco
Logged

Bonn, Germany
Offline Offline
God Member
*****
Karma: 2
Posts: 903
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ouch, danke fuer den Tip mit Reichelt.. ist mir leider zu guenstig smiley-mad(
Schoenes Geraet dennoch.
Logged

Believe me, Mike, I calculated the odds of this succeeding against the odds I was doing something incredibly stupid[ch8230] and I went ahead

Switzerland
Offline Offline
Newbie
*
Karma: 0
Posts: 29
Arduin Yún - Arduino for the cloud
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Arduino SW verwendet 7Bit Adressen. Hast Du das berücksichtigt?
Ich habe das beim LM75 folgendermassen gemacht

#define LM75 (0x90 >> 1)       // LM75 7-Bit Adresse

Claus
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Claus ich danke dir, ich mache schon seit Tagen rum, es liegt an den 7bit. Und zwar wird das letzte Bit (zuständig für lesen oder schreiben 0/1) SWSeitig berücksichtigt und darf nicht in die Adresse eingebunden werden.
Nachtwind dir natürlich auch vielen dank.

Gruß,
 Marco
Logged

Pages: [1]   Go Up
Jump to: