www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Streifen im EA DOGM128 und sehr dunkel


Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich probiere nun schon eine Weile herum und versuche mein DOGM128 heller 
zu bekommen. Wenn man auf eine Anzeige senkrecht drauf schaut sieht man 
nur einen schwarzen Bildschirm. Schaut man seitlich darauf sieht man den 
Text ganz leicht. Ich hab zwar keinen BG LED aber das sollte ja auch 
erstmal ohne besser funktionieren.

Habe mit dem Kontrast schon rumgespielt jedoch nicht viel erreicht.
An einer Stelle geht sogar ein schwarzer Streifen von oben bis unten.. 
wie kann das sein??

Meine Init Parameter:

0x40,0xA1,0xC0,0xA7,0xA2,0x2F,0xF8,0x00,0x27,0x81,0x25,0xAC,0x00,0xAF

Hoffe jemand kann mir da weiterhelfen..

Mfg
Tobi

Autor: Hella (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi schrieb:
> Ich hab zwar keinen BG LED aber das sollte ja auch
> erstmal ohne besser funktionieren.

Nicht unbedingt.
Nur bei 128W-6 und 128L-6 kann man ohne Beleuchtung etwas sehen...
Hört sich ganz so an, als hättest Du ein anderes ;)

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du mechanische Beschädigung ausschließen ?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke für eure Antworten.

Ich habe das 128W!

Allerdings habe ich auch Polyester kondensatoren und keine Elkos wie es 
jemand hier im Forum schon geschrieben hat. Allerdings emitnen die dann 
auch das es daran nicht gelegen haben kann.

-> Beitrag "DOG LCD 128x64 Initialisierung ATmega8 (Assembler)"

leider hilft dieser Beitrag dann auch ned weiter.

Ich denke ich kann eine Beschädigung ausschließen, da andere dieses 
Problem auch schon hatten.
Siehe auch:

Beitrag "Re: EA DOGM128 128x64 Grafik Display"

Leider steht dort dann auch keine Lösung.

... Jedoch kann das mit den Elkos doch ned sein da im Datenblatt auch 
keine verwendet werden?!?!

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achja,

komisch ist auch, dass der Bildschrim sowohl bei einer 
Kontrasteinstellung von 0 als auch 64 dunkel bleibt .. lediglich bei 25 
oder 16.. (also ein Wert dazwischen) ganz leicht etwas zu sehen ist.

Bei mir tritt auch das selbe Problem auf wie jemand schon schrieb in 
einem meiner genannten Links, dass bei einem Reset für bruchteile einer 
Sekunde der Text sehr gut zu lesen ist. Jedoch dann verschwindet wegen 
des Resets.

Komisch ist auch dass es vorkommen kann, wenn ich einen Text anzeige 
dass dann auf magische weise ein Reset meines ATMegas passiert wenn er 
sich eigentlich nur in der while(1); schleife am Ende befindet und das 
Display noch einen String anzeigt.
Dieses Verhalten tritt allerdings erst auf seit ich das Display 
dazugebaut habe.
Ich habe die Schaltung schon mehrmals überprüft und kann eine 
Fehlvertratung somit ausschließen.

Ich habe die Schaltung mit den 9 Kondensatoren am Display aus dem 
Datenblatt aufgebaut und wenn ich sie gegen Masse messe habe ich so 
zwischen 13,6 und 3 Volt. Man kann grob sagen von Pin 21 bis 25 an denen 
sich die ersten 5 Kondesatoren befinden wird die Spannung immer etwas 
weniger ..

Hoffe das hilft irgendwie weiter bei der Fehlerlokalisation.

Mfg Tobi

Autor: XMEGA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,


Tobi schrieb:
> Kontrasteinstellung von 0 als auch 64 dunkel bleibt .. lediglich bei 25
>
> oder 16..


im Datenblatt steht eindeutig 16.
Beim DOGM132  steht 1F!

Dass sich dieser Wert (16) nicht ändern lässt, ist richtig.



Hier meine Initialisierung:


  0x40,   // Display Start Line 0
  0xA1,   // Display Normal / reverse A0
  0xC0,    // Display Normal / reverse C8
  0xA6,
  0xA2,   // Set Bias
  0x2F,   // Power Control set
  0xF8,   // Booster Ratio set
  0x00,   // ""
  0x27,   // Contrast set
  0x81,
  0x16,
  0xAC,   // Static Indicator set
  0x00,   // ""
  0xAF    // Display on/off



Gruß XMEGA

Autor: Holger W. (holgerw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim DOGL habe ich 1206 SMD Keramikkondensatoren 1µF ungepolt verwendet 
und nach leichtem verändern des letzten Kontrastwertes ein ordentliches 
Bild erhalten.

Holger

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
XMEGA: stimmt das steht im Datenblatt. Ist aber ja nur ein Beispielwert. 
0x81 sagt das ich mit dem folgenden Befehl den Kontarstwert übergeben 
möchte. dieser kann zwischen 1 und 64 betragen... also so hab ichs 
zumindest verstanden :)

Holger: Hattest du ein ähnliches Problem? Zumindest nutzt du auch keine 
gepolten Kondensatoren. Weist du noch was du geändert hast? Ich werde 
mal noch ein paar Kontrastwerte versuchen vielleicht bringts ja was. 
Hast du die Init sonst wie im Datenblatt übergeben?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achja, das Display ist von Beginn an komplett schwarz und wenn ich einen 
Text ausgebe ist dieser nicht zu sehen. Erst wenn ich mein Handy drunter 
lege ist ganz schwer etwas zu erkennen. Wenn ich diesen Kontrast mit dem 
Kontrast vergleiche der bei Display an/aus herrscht ist das ein 
himmelweiter Unterschied.
Genau diesen Kontrast müsste man doch auch haben wenn alles korrekt 
funktioniert?!?

Autor: Holger W. (holgerw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hatte es in einem anderen Thread schon angegeben, meine Init sieht jetzt 
so aus:

0x40,0xa1,0xc0,0xa6,0xa2,0x2f,0xf8,0x00,0x27,0x81,
0x13  <-- diesen Wert habe ich von 0x10 auf 0x13 geändert.
0xac,0x00,0xaf

Ich hatte ganz wenig Kontrast und hellere Sreifen abhängig vom Inhalt 
der oberen Zeilen. Jetzt läuft es.


Holger

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Holger,

danke für deine Antwort.

Leider bringt diese Einstellugn bei mir keinen Erfolg :(
Ansonsten habe ich deine beschriebenen Effekte mit den Streifen auch.

Ich bekomme es auch nicht hin, dass das Display am Anfang alles hell ist 
anstatt dunkel. Sobald ich das Display initialisiere wird alles schwarz.

Müsste ja A6/A7 sein um das umzustellen. Passiert aber nicht viel. 
Leider

Autor: Holger W. (holgerw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Komplett schwarz sollte es am Anfang nicht sein, nach der Init wird bei 
mir zufälliger Inhalt angezeigt, also verstreute Pixel.
Vielleicht ist noch ein Fehler bei deiner Ansteuerung.
Mit welcher Taktfrequenz steuerst du es an ? Ich habe PIC 18F mit 
"handgemachter" SPI mit 16 MHz. Die Pins sind mit Widerständen auf 3,3V 
angepasst.

Holger

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab am ATMega 11,0592 MHerz.
ein Lipo versorgt das ganze ohne widerstände.. also alle shat ein wenig 
mehr Spannung als es soll. Dürfte aber nichts ausmachen.

SPI Takt ist gerade auf 1/16.

Habe aber gerade noc heine andere Erkenntnis gewonnen. Und zwar habe ich 
im laufenden Betrieb knallhart die Kondensatoren nacheinander 
rausgezogen. Plötzlich war ein Bild da als ich alle Kondensatoren die 
auf Masse liegen entfernt hatt Oo.

Hab dann in zufälliger Reihenfolge die Kondensatoren wieder reingebaut. 
Mal wurde es besser mal schlechter .. aber wenn alle drin sind ist es 
wieder schwarz. Hab auch unterschiedliche Kontraste in der Schrift.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achja und habe viele senkrechte Streifen drin.

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi schrieb:
> ein Lipo versorgt das ganze ohne widerstände.. also alle shat ein wenig
> mehr Spannung als es soll. Dürfte aber nichts ausmachen.

Also volle 4,2 Volt am LCD?
->Außerhalb der Specs?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also der Lipo liefert nur 3,7 Volt.

Komischerweise macht der Kondensator am VOut das Display komplett 
schwarz und der erste an Pin 21 auch... hm..

Autor: Holger W. (holgerw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann wird wohl der interne Booster eine zu hohe Spannung erzeugen.
Ich würde die Spannung mal reduzieren oder Boosterratio verändern.

Holger

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi schrieb:
> Also der Lipo liefert nur 3,7 Volt.

Das steht wohl auf dem Akku drauf?
Schon mal gemessen, was wirklich rauskommt?

Was meinste wohl, warum der Hersteller der Displays einen 
Spannungsbereich angibt, in dem das LCD arbeitet? Aus Jux? Oder weil er 
Langeweile hat?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab die 3,7 gemessen... aber gut hab nen Spannungsbegrenzer eingebaut 
und hab nun glatte 3,3 Volt (gemessen :) ... immer noch das gleiche...

werde das mit dem Booster noch probieren... hab ausserdm einen 
senkrechten Streifen der nie verschwindet.. egal was ich mache.. er 
wirkt irgendwie bläulich... komisch... vermute das zumindest an der 
Stelle das Display nen Fehler hat..

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
witzig... wenn ich die Masse ziehe blebt genau dieser evtl. kaputte 
Streifen im Display stehen. Hat dafür jemand ne erklärung?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so nach stundenlangen Versuchen hab ich nun endlich ein Bild.

Allerdings verhält sich das ganze jetzt etwas komisch.
Ich habe im ersten Schritt sichergestellt, dass auch alle 9 Kondesatoren 
wirklich Kontakt haben (Baue das ganze auf einem Steckbrett als Versuch 
auf) und dann ging es ohne Streifen.

Allerdings war der Kontrast noch sehr wenig.

Gerade habe ich dann mal die Masse, welche zum Display läuft, 
herausgezoegn und was passiert? Ich habe ein einwandfreies 
Bild?!?!?!??!?!

Ich verstehe die Welt nicht mehr woher der nun seine Masse zieht.

Habe alle anderen Stromzweige mal abgetrennt, 5V Wandler, und 
Netzwerkchip. Somit habe ich nur noch den ATMega32 und das Display 
angeschlossen.
Was kann man da groß falsch machen? Jemand ne Ahnung??

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So hab das nun auch hinbekommen.

Das mit der Kontrasteinstellung ist ja ein riesen Mist.

Ich hab jetzt mal in einer Schleife im 0,5 Sec. Takt alle Kontraste 
durchlaufen lassen wärend ein Text sichtbar war.
Der Kontrast wechselte ca. 10 mal von schlecht nach gut. Schaltete ich 
die Masse wieder dran, verhielt es sich genau andersrum. Somit konnte 
ich die Masse wieder anschließen und fand dann den besten Wert für den 
Kontrast heraus.
Die Spec ist echt schlecht dokumentiert da man dort eindeutig versteht, 
dass der Kontrast von 0 bis max eizustellen ist und nicht so ein auf und 
ab!

Wobei ich noch nicht ganz durchsteige ist das beschreiben der Pixel.

Wenn ich (wie aus einem Tutorial) die Initialisierung mache und danach : 
$00, $7F, $09, $09, $76 an daten sende soll angeblich ein "R" 
herauskommen. Im Tut kann ichs nachvollziehen allerdings kommt bei mir 
eine 8 Pixel hohe komplett schwarze Zeile heraus?!?! Oo
In dieser Zeile findet man nur irgendwo eine 0x09 wieder sonst nichts.
Kann das jemand von euch verstehen?

Mfg Tobi

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hm,

habe noch ein Problem beim Display beschreiben.

Und zwar wenn ich ein Byte irgendwo auf das Display schreibt 
funktioniert das auch jedoch wird der Rest der Zeile dann schwarz. Ist 
das normal? Finde dazu nichts in der Spec.

Mfg Tobi

Autor: Tobi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hab mal ein Bild angehägt wie das rauskommt..

Jemand ne Idee? Bin so langsam ratlos..

Autor: Holger W. (holgerw)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ohne die Ansteuerung zu kennen wird das wohl schwer.
Mein DOGL tut ...

Holger

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sag was du brauchst und du bekommst es :)

was machst du z.b. vom Start bis zum senden des ersten Zeichens im Code 
alles?

Start - SPI init - displ. init - zeichen senden...

könntest du mir mal bitte nen codeschnippsel hier reinwerfen? Zum 
Vergleich....

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achso du hast nen DOGL ich hab nen M ... weis jetzt ned ob das nen 
riesen Unterschied macht..

Hier mal bissl was ich so mache:


----------- SPI --------

uint8_t init_spi(){
  // Set SPI PIN Configuration
  SPI_IO = SPI_IO_CONF;
  LCD_IO = LCD_IO_CONF;
  LCD_CS_PORT |= LCD_CS_PIN;    // CS auf 1 = LCD Disable

  // SPI Master aktivieren
  SPCR = SPI_CONF;

  //double speed
  SPSR |= 0x01;

  return 1;
}

void enable_LCD(){
  LCD_CS_PORT &= ~(LCD_CS_PIN);  // CS auf 0 = LCD Enable
  for (int a = 0;a<100;a++){
     SPDR = 0xFF;
    loop_until_bit_is_set(SPSR,SPIF);
  }
}


void disable_All(){
  LCD_CS_PORT |= LCD_CS_PIN;    // CS auf 1 = LCD Disable
  for (int a = 0;a<100;a++){
     SPDR = 0xFF;
    loop_until_bit_is_set(SPSR,SPIF);
  }
}

-------- DISPLAY Functions -----------

volatile unsigned char 
char_x=0,char_y=1,char_height_mul=1,char_width_mul=1;

uint8_t init_display(){

  //Reset the Display Controller
  LCD_PORT_RST &= ~(LCD_PIN_RST);
  _delay_ms(100);
  LCD_PORT_RST |= (LCD_PIN_RST);
  asm("nop");

  display_write_byte(LCD_CMD,DISPLAY_START_LINE);
  display_write_byte(LCD_CMD,LCD_TOPVIEW);
  display_write_byte(LCD_CMD,LCD_SCAN_DIR_NORMAL);
  display_write_byte(LCD_CMD,LCD_NORMAL);
  display_write_byte(LCD_CMD,LCD_BIAS_1_9);
  display_write_byte(LCD_CMD,LCD_POWER_LOW_POWER);
  display_write_byte(LCD_CMD,LCD_BOOSTER_SET);
  display_write_byte(LCD_CMD,LCD_BOOSTER_6);
  display_write_byte(LCD_CMD,LCD_VOLTAGE_MAX);
  display_write_byte(LCD_CMD,LCD_VOLUME_MODE_SET);
  display_write_byte(LCD_CMD,LCD_VOLUME_MODE_REG_MIN+0x24);
  display_write_byte(LCD_CMD,LCD_INDICATOR_OFF);
  display_write_byte(LCD_CMD,LCD_INDICATOR_MODE_OFF);
  display_write_byte(LCD_CMD,LCD_ON);

  //display_clear();

  return 1;
}

void display_write_byte(uint8_t isCommand, unsigned char data)
{
  enable_LCD();

  if(isCommand == 0)
    LCD_PORT_A0 &= ~(LCD_PIN_A0);
  else
    LCD_PORT_A0 |= LCD_PIN_A0;

  SPDR = data;
  while(!(SPSR & (1<<SPIF)));

  disable_All();
}

void display_clear(){

  unsigned char row, col;

  for(row=0;row<8;row++)
  {
    //display_goto_Point(1,row);
    for (col=0;col<132;col++)
    {
      display_goto_Point(col,row);
      display_write_byte(LCD_DATA,0x00);
    }
  }
}

void display_goto_Point(unsigned char x, unsigned char y){

  display_write_byte(LCD_CMD,LCD_PAGE_ADDRESS | ((y) & 0x0F));
  display_write_byte(LCD_CMD,LCD_COL_ADDRESS_MSB | ((x>>4) & 0x0F));
  display_write_byte(LCD_CMD,LCD_COL_ADDRESS_LSB | ((x) & 0x0F));
}


-------------- MAIN ----------

        // SPI Init
  uint8_t ret = init_spi();

        LED_PORT_GREEN  |= LED_PIN_GREEN;  // Turn on green LED
  // Display Init
        //display_clear();
  ret = init_display();

  //char_x=0;//0-128
  //char_y=1; //0-8
  //display_write_str("DASistEINtestGANZ");
  //char_x=0;
  //char_y=2;
  //display_goto_Point(0,1);
  display_write_byte(LCD_DATA,0xF7);
  //  display_goto_Point(1,1);
  display_write_byte(LCD_DATA,0x09);
  //  display_goto_Point(2,1);
  display_write_byte(LCD_DATA,0x09);
  //  display_goto_Point(3,1);
  display_write_byte(LCD_DATA,0x66);
while(1);

Autor: Holger W. (holgerw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DOGL unterscheidet sich vom DOGM ...

Also ich nutze einen PIC 18F2520, 16MHz Quarz, alles in Assembler.
Initialisierung, danach Ausgabe in Pages, dann (im Bild) Ausgabe über 
eigenen Pixelroutinen. Waits zwischen den Ausgaben gibt es keine, nicht 
mal ein NOP.
Prinzipiell scheint es ja bei dir zu funktionieren, ich vermute mal du 
sendest zu viele Zeichen.
Du hast den (vermutlich) fehlerhaften Code, poste doch mal.
Mit C oder Atmel Assembler kann ich dir aber leider nicht viel helfen.

Holger

Edit: ok hat sich überschnitten, ich schau mal ...

Edit2: nee sorry da muss ich passen ...
da möchte ich nicht mal wissen was das tut:  LCD_PORT_A0 &= 
~(LCD_PIN_A0);

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
klar... es sieht so aus als würde ich zu viele Zeichen senden.. 
allerdings wenn ich mal nicht einen character sende mit der 
entsprechenden umfangreicheren Funktion... sondern nur ein Byte sende... 
also wie man oben im Code ja sieht, passiert da nicht viel mehr als 4 
Byte senden fertig...

Was auch komisch ist, wenn ich ein clear mache dann läuft die obere 
Funktion durch und auf dem Display wir jede Zeile erstmal schwarz.. also 
jede Page bevor sie dann von links nach rechts hell wird.. das Ganze 
dauert komischerweise auch knapp 2 Sek. .. zu lange?!?!?

Ich habe einen ATMega32 .. an dem hängt nen Quarz mit 11,0952 MHz und 
SPI ist auf 1/2 Takt gestellt..

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LCD_PORT_A0 &= ~(LCD_PIN_A0);

schaltet den Port an dem A0 hängt aus

LCD_PORT_A0 |= LCD_PIN_A0;

schaltet ihn an... das funktioniert... habs sogar gemessen :) .. zeichen 
kommen ja auch an..

Autor: Holger W. (holgerw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da muss ich mich jetzt ausklinken, lese aber weiter mit, wenn mir noch 
was auffällt meld ich mich wieder.
Ich setz mein Pin mit einem ordinärem BSF LCD_PIN_A0

Viel Erfolg

Holger

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke dir Holger für deine Zeit :)

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal wie es bei mir funktioniert:
DOGM128-W6, Schaltung ist die 3.0/3.3V Single Supply aus dem Datenblatt, 
Spi-Takt 12 MHz, Spi-Mode = 3, Kondensatoren sind keramische X7R, 1 uF, 
25V, 0603.
Was allerdings Probleme bereiten kann (das Teil ist hier auch gesteckt, 
damit es richtig im Gehäuse sitzt), ist eben diese Verbindung d.h. kein 
richtiger Kontakt -> kein Kontrast und/oder Streifen, wackeln hilft dann 
hin und wieder.
Die Lösung war ein billiger, aufgetrennter IC-Sockel mit Federkontakten.
U.U. kann es auch am Reset liegen
void LCDInit() {
  DOGM128SELECT();
  DOGM128A0HIGH();
  DOGM128RSTHIGH();

  DOGM128RSTLOW();
             // wait 500 us
  Wait(100);  
  Wait(100);
  Wait(100);
  Wait(100);
  Wait(100);
  DOGM128RSTHIGH();

  DOGM128A0LOW();

             // init see datasheet
  DOGM128Send(0x40);
  DOGM128Send(0xa1);
  DOGM128Send(0xc0);
  DOGM128Send(0xa6);
  DOGM128Send(0xa2);
  DOGM128Send(0x2f);
  DOGM128Send(0xf8);
  DOGM128Send(0x00);
  DOGM128Send(0x27);
  DOGM128Send(0x81);
  DOGM128Send(0x16);
  DOGM128Send(0xac);
  DOGM128Send(0x00);
  DOGM128Send(0xaf);

  DOGM128DESELECT();
}

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

mal eine Frage:
void display_write_byte(uint8_t isCommand, unsigned char data)
{
  enable_LCD();

  if(isCommand == 0)
    LCD_PORT_A0 &= ~(LCD_PIN_A0);
  else
    LCD_PORT_A0 |= LCD_PIN_A0;

  SPDR = data;
  while(!(SPSR & (1<<SPIF)));

  disable_All(); // <----
}
Die Funktion sieht grob gesagt ok aus, aber disable_All ????
WAS SOLL DAS???
void disable_All(){
  LCD_CS_PORT |= LCD_CS_PIN;    // CS auf 1 = LCD Disable
  for (int a = 0;a<100;a++){  // <---
     SPDR = 0xFF;             // <--- 
    loop_until_bit_is_set(SPSR,SPIF);
  }
}

was soll das bewirken???
hiermit sendest du die schwarzen Balken!!!!

mfg
Stephan

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oh man du hast recht... wie kann man denn so daneben sein :)

Das ist ein übernommenes Codestück aus einem anderen Projekt mit eienr 
SD Karte bei der das gesendet werden soll... ich hab das jetzt 
unetrbewusst wie ein Delay betrachtet und hab mit meinem eingefahrenen 
Blick da immer drüber weggeschaut!!!

Heiei... Vielen Dank Stephan!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.