korrekte Reihenfolge der Bausteine im Programm einer LCD Init

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • korrekte Reihenfolge der Bausteine im Programm einer LCD Init

      Moin!
      mein I2C Oled startet beim Anlegen der Versorgungsspannung nur bei jedem 3 mal.
      Wenn es dunkel bleibt, läuft der Rest vom Programm aber einwandfrei.
      An der Versorgungsspannung kann es eigentlich nicht liegen: 5V über 7805, 100nF und 470µF gepuffert.
      Den ext. 16Mhz Quarz und die beiden 22pF habe ich auch schon getauscht.
      Auf kalte Lötstellen oder unsaubere Kontakte habe ich alles hin übergeprüft.
      Das Display ist getauscht...
      Jetzt weiß ich auch nicht mehr weiter.
      Gibt es von der Programmseite Möglichkeiten, wie man das OLED zuverlässiger starten lassen kann?
      Ich habe hier und da schon wait Befehle eingesetzt, aber das bringt es auch nicht.
      Gibt es eine korrekte Reihenfolge, in der i2cinit, die Libs, config graphlcd, setfont usw. zwingend stehen müssen?
      Für Euren input wäre ich dankbar! Hier ist der Start meines Programms:


      BASCOM Source Code

      1. $regfile = "m32def.dat"
      2. $crystal = 16000000
      3. $hwstack = 100
      4. $swstack = 100
      5. $framesize = 100
      6. Ddrd = &B11111000
      7. Ddrb = &B10011111
      8. Ddrc = &B11111111
      9. Ddra = &B11111111
      10. Config Timer1 = Timer , Prescale = 256
      11. Const Timervorgabe = 3036
      12. On Timer1 Timer_irq
      13. Config Debounce = 40
      14. Config Scl = Portc.5
      15. Config Sda = Portc.4
      16. Config Twi = 400000
      17. I2cinit
      18. Config Graphlcd = Custom , Cols = 128 , Rows = 64 , Lcdname = "SSD1306"
      19. 'Waitms 200
      20. Setfont Font8x8tt
      21. $lib "i2c_twi.lbx"
      22. $lib "glcdSSD1306-I2C.lib"
      23. 'Waitms 200
      Display All
    • ja, 4K7 gegen VCC
      Hab ich auch schon "100mal" verbaut. Funktionierte immer.
      Ich habe auch die anderen Eingänge mit 4K7 versehen. Nicht, dass da irgendetwas noch hin und her tänzelt und stören könnte...
      Habs gerade nochmal nachgemessen: Passt!
      Manchmal lösen sich ja die Kontaktflächen der smd- chips, wenn sie zuviel Hitze abbekommen, aber hier passt es. Sowohl SDA als auch SCL sind mit pullup versehen
    • ichbinsmoin wrote:

      nein hatte ich noch nicht probiert.
      Aber jetzt: Funktioniert.
      hm.
      Wie muss man denn DAS jetzt interpretieren, dass es mit 100KHZ funktioniert, aber mit 400 nicht?
      Das ist ungefähr so, als wenn du jetzt mal 4x so schnell sprichst, versteht dich noch jeder? ;)
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • ACH Du SCH....
      a_67_e210de67
      ok...
      Alles klar- die Macht der Gewohnheit.
      ich habe hier zum 1. Mal den ATMEGA 32A eingesetzt. Da sind die SDA/SCL an C0 und C1!
      Ich habe zwar das Display an die richtigen pins angeschlossen, aber in der soft - aus Gewohnheit- C5 und C4 geschrieben.
      Jetzt gehts auch mit 400 KHZ .
      man man man... danke Dir