Forum: Mikrocontroller und Digitale Elektronik NHD-1.69-160128G (SEPS525) SPI Problem


von Adam P. (adamap)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

folgendes Problem:
SAM4E16E SPI Anbindung an das Newhaven Display NHD-1.69-160128G mit dem 
SEPS525 Controller will einfach nicht funktionieren.

Wie bin ich vorgegangen:
1)  Beispiel Code mit einem Arduino getestet
https://www.newhavendisplay.com/resources_dataFiles/excode/txt/Arduino/OLED_160128.txt
Dabei wird "Soft SPI" genutzt.

Display funktioniert!

2) Code minimiert, ganze switch-case entfernt, lediglich "Soft SPI" 
gelassen und Code auf SAM4E Projekt (AtmelStudio) portiert.
(siehe main_soft_SPI.C)

Display funktioniert!

Datentransfer mitgeschnitten, hier der erste Init-Befehl:
1
OLED_Command_160128RGB(0x04);// Set Normal Driving Current
2
OLED_Data_160128RGB(0x01);// Disable Oscillator Power Down
(siehe soft_spi.png)

3) SAM4E SPI Peripherie eingebunden:
- Takt 1 MHz (Testweise)
- SPI-Modus 3
Funktionen umgeschrieben:
1
void oled_cmd(unsigned char c)
2
{
3
    spi_select_device(SPI_MASTER_BASE, &spi_dev);
4
    ioport_set_pin_level(OLED_RS, LOW);
5
  
6
    spi_write_packet(SPI_MASTER_BASE, &c, 1);
7
    spi_deselect_device(SPI_MASTER_BASE, &spi_dev);
8
}

Datentransfer (siehe SPI.png)

Display bleibt dunkel...

Habt ihr vllt. eine Idee, woran es liegen könnte?
Oder ist da noch etwas, was ich übersehe?

Im Gegensatz zum Datenblatt vom SEPS525, werden mit dem "Arduino-Code" 
die 3 Farben je Pixel einzeln übertragen (jeweils mit einem neuen 
ChipSelect).
So habe ich es Testweise dann auch mit SPI versucht.

Bin für jede Idee dankbar.

Gruß

: Bearbeitet durch User
von Adam P. (adamap)


Lesenswert?

...Problem gelöst.

RS Pin sollte beim Data-Transfer HIGH sein, nicht LOW...
Soviel zu Copy&Paste Fehlern.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.