Hallo, also ich bastel gerade an dem parralellPort für ein gLCD und verzweifel so langsam! Die Datenports für das Display sind folgendermaßen aufgeteilt: #define LCD_D0 (1<<23) // P23 #define LCD_D1 (1<<25) // P25 #define LCD_D2 (1<<26) // P26 #define LCD_D3 (1<<27) // P27 #define LCD_D4 (1<<28) // P28 #define LCD_D5 (1<<29) // P29 #define LCD_D6 (1<<30) // P30 #define LCD_D7 (1<<31) // P31 der Sprung von 23 und 24 ist leider nicht vermeidbar, dank hier an das OLIMEX Board! Nun möchte ich den Wert 0x3F an das Display schicken (Display löschen), hierzu 3 Zeilen Code: value1 = 1048576000; // entspricht 0x3F value1 = 0x3F000000; // entsricht 1048576000; pPIO->PIO_SODR = value1; sobald ich die zweite Zeile als Kommentar setzt klappt es.....das ist aber nciht gerade die feine Art. Wenn die zweite Zeile aktiv ist zeigt mir das Oszi nada an, also nichts. Alle Ausgänge sind low! Hat jemand eine Idee? Gruß Andreas
ohne zu wissen welchen Compiler Du einsetzt: versuch mal 0x3F00000L (man beachte das ELL) oder einen cast nach (long)
0x3F000000 ist nicht gleich 1048576000!!! 0x3F000000 ist 1056964608!!!
und value1 = 1048576000; //entspricht 3E800000 so kann man sich auch nen nen hund einbauen und nen wolf suchen ;-))))
ja, wenn man dann auf der falschen Leitung misst schon
ich fürchte du hast den oben von dir selbst erwähnten bitsprung D0--D1 missachtet.
konkret must du imm falle des gesetzten bits 0 dieses und nur dieses einmal nach rechts schieben dann bekommst du das gewünschte ergebnis munter bleiben
Danke, danke!!!! jetzt gilt es das Ganze noch für einen Wert x so verändern das das auch immer klappt!
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.