Batron I2C display ansteuerung

Gast #903534
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);

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren