Forum: Mikrocontroller und Digitale Elektronik Batron I2C display ansteuerung


von Luke (Gast)


Lesenswert?

Hallo,

ich versuche mich z.Zt an der Anbindung des Displays Typs:
BTHQ 96040AV1-FSTF-12-I2C-COG  --von Datamodul bzw. Batron

Ich habe das Display entspechend der Handbuchs für den STE2004S-LDC 
Driver initialisiert und kann auf den Oszilloskop auch sehen, dass das 
Display mit einen ACK auf die Commandos reagiert.

Leider zeigt es aber nichts an. Die Spannungen VSS und VLCD sind 
entsprechend der Angaben in Manual des Displays angelegt worden.

Als µController in meiner Anwendung verwenden ich den STR750.

Hat jemand vielleicht schon Erfahrungen mit diesem Display gemacht und 
kann mir helfen?

Vielen Dank im Voraus





//displaytest


// RESET IMPULS
  GPIO_WriteBit(GPIO1, GPIO_Pin_0,Bit_SET);
  delay(20);
  GPIO_WriteBit(GPIO1, GPIO_Pin_0,Bit_RESET);
  delay(25);
  GPIO_WriteBit(GPIO1, GPIO_Pin_0,Bit_SET);


  /* I2C configuration */
  I2C_InitStructure.I2C_GeneralCall = I2C_GeneralCall_Disable;
  I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
  I2C_InitStructure.I2C_CLKSpeed =400000;
  I2C_InitStructure.I2C_OwnAddress = 0x00;

  /* I2C Peripheral Enable */
  I2C_Cmd (ENABLE);
  /* Apply I2C configuration after enabling it */
  I2C_Init(&I2C_InitStructure);

  /* Send START condition */
  I2C_GenerateSTART(ENABLE);

  /* Test on EV5 and clear it */
 while(!I2C_CheckEvent(I2C_EVENT_MASTER_MODE_SELECT));

  /* Send Driver slave adress */
   I2C_Send7bitAddress(0x78, I2C_MODE_TRANSMITTER);

  /* Test on EV6 and clear it */
   while(!I2C_CheckEvent(I2C_EVENT_MASTER_MODE_SELECTED));

  /* Clear EV6 by setting again the PE bit */
   I2C_Cmd(ENABLE);


//Vlcd müsste im reset Zustand auf extern eingestellt sein.


//  PD=1  Power Down
  /*Kommandowort DC Control Byte */
   I2C_SendData(0x80);
  /* Test on EV8 and clear it */
  while(! I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));
/* Steuerwort Daten Byte */
  I2C_SendData(0x24);
  /* Test on EV8 and clear it */
  while (!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));




//BIAS= 1/8 laut Datenblatt für das Display
/*Kommandowort DC Control Byte */
  I2C_SendData(0x81);
/* Test on EV8 and clear it */
  while(! I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));
  /* Steuerwort Daten Byte */
  I2C_SendData(0x13);
  /* Test on EV8 and clear it */
  while (!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));




// MUX RATIO= 49 laut Datenblatt für das Display
  /*Kommandowort DC Control Byte */
   I2C_SendData(0x82);
  /* Test on EV8 and clear it */
  while(! I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));
   /* Steuerwort Daten Byte */
  I2C_SendData(0x08);
  /* Test on EV8 and clear it */
  while (!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));





//PD=0  Power ON
  /*Kommandowort DC Control Byte */
   I2C_SendData(0x84);
  /* Test on EV8 and clear it */
  while(! I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));
   /* Steuerwort Daten Byte */
  I2C_SendData(0x20);
   /* Test on EV8 and clear it */
  while (!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));





//ALLE SEGMENTE AN
/*Kommandowort DC Control Byte */
   I2C_SendData(0x84);
  /* Test on EV8 and clear it */
  while(! I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));
   /* Steuerwort Daten Byte */
  I2C_SendData(0x09);
/* Test on EV8 and clear it */
  while (!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));




  /* Send STOP condition */
  I2C_GenerateSTOP(ENABLE);

von Dias (Gast)


Lesenswert?

You device adress is 0x7A and NO 0x78.

test and report ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.