Angepinnt TFT Display ILI9341 2.2" und 2.4"

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • hkipnik [b]hat den Fehler gefunden. [/b]Lag am Programmer.
      Zitat:
      Ich benutze meist den AVRISP mk2 Programmer und du den mysmart-USB Programmer.

      Also habe ich es auch mal mit dem mysmart-Usb aus Bascom raus versucht und

      siehe da Fehler Programm läuft nicht.


      Hab mir einen anderen AVRISP Programmieradapter zugelegt und jetzt läuft es.
      Nochmel vielen Dank an hkipnik
    • Hallo Hkipnik,
      danke für die schnelle Antwort.
      Nach dem Update wird sauber kompiliert.
      Nun klemmt es beim Flashen
      Board Mega 2560. Fehler Anzeige : Programming FLASH... FAILED!
      Eigentlich soll das Display " ILi 9341 Ohne Touch " ja an einem Arduino ProMini (Atmega 328p) laufen, da stimmen
      nätürlich die Ports nicht. Gibt es da ein spezielles Programm oder wo muss ich überall ändern ?
      Gruss Willi
    • Hallo Hkipnik,
      hatte das Thema 2,2" Display zur Seite gelegt ( was anderes war wichtiger )
      Nun will ich das Diplay aber gebrauchen und bleibe da an der Zuordnung Pin--> Port hängen.
      Das Display hat die Bezeichnung : QVGA 2.2 TFT SPI 240x320
      Die Pin's sind : CS , Reset , DC/RS , SDI/MOSI ,SCK ,LED ,SDO/MISO .
      Frage : welche Port's in Dienem Programm gehören zu diesen Pin's.
      CS,RESET,DC/RS konnte ich, glaube ich, zuordnen, beim Rest stehe ich auf dem Schlauch.
      Für Deine Hilfe wäre ich dankbar.
      Gruss
      Willi
    • Hallo Ulrich,
      Hkipnik hat ja ein Prodrmm für das Display geschrieben. In dem Programm legt er ja die Poert's ans Display.
      Diese Zuordnung fehlt mir.
      In seiner ILI9341_declarations8 finde ich nur folgende Angaben:
      RS_disp = Port D.7
      CS_disp = Port G.1
      Res_disp = Port G.0
      Die drei kann ich meinem Display zuordnen.
      WR_disp = Port G.2 wohin ?
      Der 5. Port fehlt mir ganz, d.h. ich habe noch SCK und SDL anzu schliessen.
      Da liegt mein Problem. Ich denke Hkipnik meldet sich noch.
      Gruss Willi
    • Hallo WilliW,

      ich habe dir hier noch mal meine von Hkipnik vorgegebene Pinbelegung gelistet, vielleicht hilfts weiter. Auch ein Verdrahtungsschema liegt bei, welches bei mir funktioniert hat.

      BASCOM-Quellcode

      1. '*******************************************************************************
      2. 'Programm for Display ILI9341 SPI 240x320 Pixel
      3. 'modifiziert für Vermeidung von Fehlern beim Abheben des Stiftes beim Touchen
      4. ' doppelten Tastendrucks
      5. 'Bascom IDE 2.0.7.9
      6. '
      7. ' Version: V12
      8. ' Date:22.05.2014
      9. ' Email: Hkipnik@aol.com
      10. ' Copyright (c) 2013 Hkipnik. All rights reserved.
      11. '
      12. ' http://creativecommons.org/licenses/by-sa/3.0/de/
      13. '
      14. ' Sie dürfen:
      15. '
      16. ' * das Werk bzw. den Inhalt vervielfältigen, verbreiten und öffentlich zugänglich machen
      17. '
      18. ' * Abwandlungen und Bearbeitungen des Werkes bzw. Inhaltes anfertigen
      19. '
      20. ' Zu Den Folgenden Bedingungen:
      21. '
      22. ' * Namensnennung.
      23. ' Sie müssen den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
      24. '
      25. ' * Keine kommerzielle Nutzung.
      26. ' Dieses Werk darf nicht für kommerzielle Zwecke verwendet werden.
      27. '
      28. ' * Weitergabe unter gleichen Bedingungen.
      29. ' Wenn Sie das lizenzierte Werk bzw. den lizenzierten Inhalt bearbeiten
      30. ' oder in anderer Weise erkennbar als Grundlage für eigenes Schaffen verwenden,
      31. ' dürfen Sie die daraufhin neu entstandenen Werke bzw. Inhalte nur
      32. ' unter Verwendung von Lizenzbedingungen weitergeben, die mit denen
      33. ' dieses Lizenzvertrages identisch oder vergleichbar sind.
      34. '
      35. ' Hardware: 2.4 TFT SPI 240x320 with Touch
      36. ' 2.2 TFT Spi 240x320 without Touch
      37. '
      38. '*******************************************************************************
      39. ' SD Card CS --> portb.0
      40. ' Miso --> portb.3
      41. ' Mosi --> portb.2
      42. ' SCK --> portb.1
      43. 'Display
      44. ' CS --> porta.0
      45. ' DC --> porta.2
      46. ' reset --> porta.1
      47. ' SCK --> portb.1
      48. ' Mosi(SDI) --> portb.2
      49. ' LED --> 3,3V
      50. ' Touch
      51. ' CS --> porte.3
      52. ' IRQ --> porte.4
      53. ' Din --> portb.2
      54. ' Dout --> portb.3
      55. ' SCK --> portb.1
      56. '
      57. ' with Level-Shifter the Display works with 3,3V level
      58. '*******************************************************************************
      59. $regfile = "m2560def.dat"
      60. $crystal = 16000000
      61. $hwstack = 150
      62. $swstack = 150
      63. $framesize = 250
      64. Wait 1
      65. Config Com1 = 38400 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
      66. '*******************************************************************************
      67. Const Sdcard = 0 'use SD Card = 1 no SD Card = 0
      68. Const Lcd_mode = 1 'LCD Mode 1=Portrait 2=Portrait 180° 3=landscape 4=landscape 180°
      69. Const Use_touch = 1 'with Touch = 1 -- without Touch = 0
      70. Const Touch_calibrate = 1 'Calibrate Touch 1=yes 0=no only LCD_mode=1
      71. '*******************************************************************************
      72. Config Porta.0 = Output 'LCD CS
      73. Config Porta.2 = Output 'LCD D/C
      74. Config Porta.1 = Output 'LCD Reset
      75. Lcd_cs Alias Porta.0
      76. Lcd_dc Alias Porta.2
      77. Lcd_reset Alias Porta.1
      78. Porta.0 = 1
      79. '*******************************************************************************
      80. $include "TFTDriver\ILI9341_declarations_spi.inc"
      81. '*******************************************************************************
      82. #if Sdcard = 1
      83. #if Use_touch = 0
      84. 'wenn Touch nicht genutzt wird
      85. Config Porte.3 = Output 'CS vom Touch auf high legen
      86. Porte.3 = 1 'Touch und SD Card hängen am gleichen port
      87. #endif
      88. $include "Avr-Dos\Config_MMCSD_HC.bas"
      89. $include "Avr-Dos\Config_AVR-DOS.bas"
      90. #endif
      91. '*******************************************************************************
      92. 'Config SPI if the sd card used - SPI Config in Config_MMCSD_HC.bas
      93. '*******************************************************************************
      94. #if Sdcard = 0
      95. Config Portb.0 = Output 'auch wenn nicht genutzt
      96. Portb.0 = 1
      97. Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
      98. Spsr.0 = 1
      99. Spiinit
      100. #endif
      101. '******************************************************************************
      Alles anzeigen
      Dateien

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Ulrich ()

    • Hallo Ulrich,
      ich meinte in meinem Programm fehlen die Zeilen 75 -> 82 ganz, die Zeilen bis 58 sind ganz anders von 23 -> 58 fehlen sie ganz.
      Aber ich hab ja nun dein Programm, da sind die Port's mit Zuordnung ja beschrieben.
      Hab heute mal getestet leider habe ich keinen Erfolg.
      Mal zu meinem Diplay ,es hat folgende Pin-Bezeichnung : 1 = VCC, 2=GND, 3 = CS, 4 = Reset, 5 = DC/RS, 6 = SDI/Mosi, 7 = SCK, 8 = LED, 9 = SDO/Miso
      Gesteckt habe ich 3 = CS = A0, 4 = Reset= A1, 5 = DC/RS = A2, 6 = SDI/Mosi = B2, 7 = SCK =B1, LED = Vcc, 9 = leer
      Bei den Const habe ich Const = Lcd_mode = 1 , die anderen = 0
      Hast du eine Idee ?
      Gruss Willi
    • Hallo WiiliW,

      hoppla, das deckt sich ja absolut nicht mit den Anschlußbelegungen in meiner Zeichnung! a_41_9c830c38 a_27_b277ca12

      Ich war mir nicht bewußt, dass es soviele unterschiedliche Pin-Anordnungsvarianten bei den ILI9341 gibt,
      und ich bin mir auch nicht mehr sicher, ob denn MISO=B3 und T-IRQ=E4 auch verkabelt sein müssen, da ich es nur mit den Touch-Funktionen ausgetestet habe.
      Deine Stecker-Pin Zuweisungen sehen jedoch korrekt aus.

      Kannst du vielleicht mal ein Foto der Rückseite deines Displays zeigen. Anbei ein Foto meines ILI9341

      Werde heute nachmittag mal meinen Testaufbau aktivieren.
      Dateien
      • Bild ILI9341.jpg

        (333,59 kB, 43 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Ulrich ()

    • Hallo WilliW,

      habe gerade nochmal mein ILI9341 mit dem Programm (*.zip/siehe unten) getestet. Es funktioniert mit den Bildern von Hkipnik, wie aus dem Foto (Bild-2) zu ersehen.
      Was ich bei mir festgestellt habe ist, dass ich den 2560 (per 6-pol.ICP) nicht programmiert bekomme, solange das Adapterboard mit dem Display angeschlossen ist. Offenbar werden SCK und Mosi usw. belastet. Es geht nur, wenn ich das Flachkabel vom Adapter trenne.

      Könnte es sein, das du ein ILI9225 erwischt hast? Anbei auch ein Foto meines ILI9225-Boards.

      Wenn nicht müssen wir weiter suchen. a_52_eb39d6ae
      Gruß

      Ulrich

      edit: mit welcher Vcc wird dein ILI9341 betrieben? Ich nehme an mit 5V?! Ansonsten bei 3V=Vcc ist eine Brücke bei J1 zu löten.
      Hast du auch mal Pin 9=MISO=B3 verbunden?

      Bzgl. Pin-Zählweise: Ich habe auf meinem ILI9341-Board von der anderen Seite angefangen zu zählen. Auf deinem Board steht ja die "1" bei Vcc sinnvollerweise daneben.
      Wenn man in meiner Zeichnung die Nummern dahingehend anpasst, dass 14=1 und 13=2 usw. dann passen die Stecker und Signale exakt zu einander. a_45_132ca9f5
      Dateien

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von Ulrich ()