Hallo, ich versuche grade an einem ATtiny 2313 mein Nokia 3310 Display zum laufen zu bekommen. Die Routinen hab ich übernommen und ein bißchen abgeändert. Hab es schon mit einem PIC gesteuert und jetzt mache ich meine ersten versuche mit WINAVR. Leider funktionierts noch nicht und ich weiß nicht woran es liegt. Ich bekomme zum Beispiel noch die Warnung: avr_test3.c:144: warning: pointer targets in passing argument 1 of 'Lcd_Put_String' differ in signedness Das heißt ja, dass ich meine Funktion Lcd_Put_String mit falschen Parameter aufrufe. Kann mir jemand sagen, wie ich es in diesem Fall mit dem Pointer richtig mache? Vielleicht kann sich mal jemand meinem Code angucken und mir noch ein paar Tipps geben? Danke und Gruß Paul
"differ in signedness" = unterscheiden sich im Vorzeichen. Wenn du einen String so übergibst
1 | Lcd_Put_String("Hallo"); |
wird er immer als signed übergeben. Dein Prototyp Lcd_Put_String verlangt aber nach einem "unsigned char *". Das ist aber nur eine warnung und absolut egal solange du ASCII Zeichen übergibst, da diese eh alle nur in den positiven Bereich fallen. Wenn du keine Ausgabe bekommst, dann ist auf jeden Fall nicht diese Warnung der Auslöser.
Ich habe meine Funktion so deklariert: void Lcd_Put_String(const unsigned char *s); Das versteh ich jetzt nicht ganz. Hab ich die Parameter der Funktion doch falsch angelegt? Wenn ein String immer als unsigned übergeben wird, müsste es doch passen, oder liegt es am const?
Sorry, ich meinte natürlich signed. Habs gerade korrigiert.
OK....danke für den Tipp, habs grad geändert. Jetzt ist die Warnung wenigstens weg. Kannst du mir vielleicht noch einen Tipp geben, warum das Display nicht funktioniert? Bei der Hardeware bin ich mir sicher, dass diese funktioniert. Muss also die Software sein......
Sorry, habe mich noch nie mit der Ansteuerung der Nokia-Displays beschäftigt. Vielleicht ist ja schon was Ähnliches im Codesammlung bereich. Einfach mal nach Nokia oder so suchen.
Hm...da hab ich schon geguckt. Gibt auch einige, aber die benutzen alle anscheinend den SPI und den hat der ATtiny2313 nicht (oder etwa doch??). Kann mir sonst jemand helfen??
SPI nennt sich beim 2313 USI und kann wohl als SPI verwendet werden: * Three-wire Modus, bzw. SPI * Two-wire Modus, bzw. TWI oder I2C Steht auch im Datenblatt auf Seite 142ff
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.