LCD mit SoftSPI - Welcher Mode wird benutzt?

  • 1
  • 2
  • Page 1 of 2
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

LCD mit SoftSPI - Welcher Mode wird benutzt?

 · 
Posted: 12.05.2017 - 15:57  ·  #1
Ich habe ein EADIP 203J-Display über Soft-SPI laufen:

LCDtype = 0073;
LCDPort = SPI_Soft, PortB, 7, 5, 6, 4; // PortX, SCK, MOSI, MISO, SS
LCDRows = 4; {4-Zeiliges Display}
LCDColumns = 20; {16-stelliges Display}

Nun wollte ich das an die Hardware-SPI-Schnittstelle anklemmen, dort bekomme ich es aber nicht zum Laufen. Wenn ich es wie oben starte gehts, stelle ich auf Hardware-SPI um geht es nicht, obwohl es dieselben Pins sind.

Welche Parameter verwendet das SoftSPI wenn ich das so wie oben verwende?
Also welcher SPI-Mode, MDB/LSB usw sind dann eingestellt?

Louis
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: LCD mit SoftSPI - Welcher Mode wird benutzt?

 · 
Posted: 13.05.2017 - 11:57  ·  #2
Hi Louis,

das müßte so funktionieren:
Code

  SPIorder1      = MSB;
  SPIcPHA1       = 0;
  SPIcPol1       = 0;


Auch wenn das mal wieder keiner glaubt, hatte ich schon öfter erst Erfolg, wenn ich mit DDRx den verwendeten Port richtig eingestellt habe. Hast du das drin?

MISO hängt in der Luft - den verwendet das Display nicht.

Gruss
Harry
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: LCD mit SoftSPI - Welcher Mode wird benutzt?

 · 
Posted: 15.05.2017 - 14:25  ·  #3
Tja, leider ohne Erfolg :-(

Ich verwende den SPI-Port eines Mega1284.
Belegung:
PORTB.7 = SCK
PORTB.6 = MISO
PORTB.5 = MOSI
PORTB.4 = SS

Ich habe folgendes gesetzt:
PORTB:= %00011100; // 1 = Pullup
DDRB:= %11110000; // 0= input, 1= Output

Also SCK, MOSI, MISO und SS auf AUSGANG
Nur bei SS ist ein Pullup gesetzt

Wenn ich dann
LCDPort = SPI_Soft, PortB, 7, 5, 6, 4; // PortX, SCK, MOSI, MISO, SS

setze läuft es.

Nehme ich aber

SPIorder = MSB;
SPIcPHA = 0;
SPIcPol = 0;
SPIpresc = 3;
SPI_SS = true;
LCDPort = SPI;

geht es nicht, es ist Verkehr auf den Leitungen, aber das Display macht nix.
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: LCD mit SoftSPI - Welcher Mode wird benutzt?

 · 
Posted: 15.05.2017 - 14:47  ·  #4
Hallo Louis,

nur zur Info. Bei den Standard Megas wird ein Pullup nur durch setzen des
entspr. Bits im PIN (hier PINB) Register eingeschaltet.

rolf
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: LCD mit SoftSPI - Welcher Mode wird benutzt?

 · 
Posted: 15.05.2017 - 15:42  ·  #5
Hi Louis,

das stimmt nicht!

PORTB.7 = SCK
PORTB.6 = MISO
PORTB.5 = MOSI
PORTB.4 = SS

DDRB:= %11110000; // 0= input, 1= Output

MISO ist ein Input. Also
DDRB:=%10110000;
Aber der ist eh nicht verbunden?

Wenn du die DDR vom SS-Pin auf 1 setzt, kannst du dir den PullUp sparen ;)

Gruss
Harry

PS: Hast du mal einen Link auf das Display?

PS, die 2.: lies dir mal das durch: topic.php?t=3097&page=fst_unread&highlight=ssd1803
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: LCD mit SoftSPI - Welcher Mode wird benutzt?

 · 
Posted: 15.05.2017 - 15:46  ·  #6
Ahem...Rolf, ich bin sicher, dass das nicht so ist.

Zitat:
Quote
If PORTxn is written logic one when the pin is configured as an input pin, the pull-up resistor is
activated. To switch the pull-up resistor off, PORTxn has to be written logic zero or the pin has to
be configured as an output pin.
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: LCD mit SoftSPI - Welcher Mode wird benutzt?

 · 
Posted: 15.05.2017 - 15:48  ·  #7
Wieso willst du da unbedingt einen PullUp haben? Der µC sagt Lo oder High und gut ist :)

Hast du einen Levelshifter da drin oder läuft dein Mega1284 mit 3.3V?

Harry
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: LCD mit SoftSPI - Welcher Mode wird benutzt?

 · 
Posted: 15.05.2017 - 15:53  ·  #8
Link zum Display ist http://www.lcd-module.de/filea…203-4e.pdf

Es handelt sich um das selbe, um das es sich im Thread gedreht hat. Damals hatten wir das ja mit Soft-SPI zum Laufen bekommen, nachdem alle Versuche es parallel anzusprechen scheiterten. Das Projekt hat sich weiter entwickelt, bisher lief es immer wie gehabt im Soft-Spi-Mode. Ich wollte es jetzt in neuer Hardwarerevision mit Hardware-SPI betreiben.
Es ist ja an den selben Pins angeschlossen, dennoch kriege ich es mit dem SPI-Treiber nicht zu Laufen. Soft-Spi geht, Hardware-Spi nicht.
Ich habe alle Kombinationen der Parameter durch, nichts geht.
Ich hatte mir da Geschwindigkeitsvorteile versprochen, sonst hatte es keine Notwendigkeit.

Nachtrag: Es ist ein Levelshifter drin.
Ich aktiviere Pullups immer wenn ich einen Eingang habe, ist so eine Angewohnheit :-)
  • 1
  • 2
  • Page 1 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   138   152 · Page-Gen-Time: 0.034059s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI