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ß