Announcement

Collapse
No announcement yet.

Display not responding when I wait 500ms

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Display not responding when I wait 500ms

    If the microcontroller takes more than 500 ms to write to the uOLED-96-G2 after it is turned on, the display either doesn't respond or displays "missing interr". When I set the wait time to 465 ms, it works. Is this normal for these displays? Do you have timing specifications for when to communicate with the display after the power is turned on and wait times between commands?

    Thanks,
    Peter

  • #2


    If you are using SPE the manual says "The user should wait at least 2 seconds for the start-up to take place before attempting to communicate with the module." in section 2.5.

    I doubt you are using SPE as I cannot see how it could possibly respond in much less than 2 seconds.

    If you are using the obsolete SGC, then that is slightly faster as I recall. But also, as I recall, the manual says to wait at least 500ms and that this time needs to be extended by a) the time taken to init the uSD, if present, and b) the 'manufacturer mandated' delays in initialising the display glass itself.
    Mark

    Comment


    • #3


      Thanks for the helpful reply.

      I used SGC for a project a couple of years ago, so I tried 500 ms on SPE and when it didn't work I tried different wait times. SPE works with 465 ms and careful timing of the commands, but that may be risky if the display is not done with the initialization.

      With this display and SPE I get the "missing interr" message with a wait time of 2 or 2.5 seconds. It works if I set the wait time to 3 or 4 seconds which is fine with me.

      Is it okay to send a new SPE command 1 or 2 ms after I receive an ACK from the previous command? I got errors before, but it may have been because the display was still initializing.

      Here is my Display initialization routine:

      void DisplayInit(void) { DISPLAY_RESET = 1; // p-channel MOSFET, pull down the reset line of the displayDelay( 6000 ); // delay in ms, 4000 or higher works
      DISPLAY_RESET = 0; // release the reset line of the displayDelay ( 4000 ); // delay in ms to allow display to boot, 3000 or 4000 ms works, 465 ms works
      // 2000 and 2500 do not work - "missing interr"SCOPE1 = 1;EraseScreen();DisableScreenSaver();}
      Thanks,
      Peter

      Comment


      • #4


        Is it okay to send a new SPE command 1 or 2 ms after I receive an ACK from the previous command? I got errors before, but it may have been because the display was still initializing.
        You should be able to send the next command as soon as you get the ACK
        Mark

        Comment

        Working...
        X