GPIO am LPC2378

Gast #1337001
Hallo,

ich werde nicht ganz schlau aus der Beschreibung im Datenblatt.
Wann muss ich IODIR0 und wann FIO0DIR benutzen?
Muss das noch irgendwo konfiguriert werden?
(IODIR0 etc. sind in der LPC23XX.h definiert)

Was mich weiter verwundert ist folgender Code einer Touchauswertung, die 
so auch funktioniert. Jedoch liegt beispielsweise PINY1 an P0.25, es 
wird aber im define nur 24 mal geshiftet.

    #define PINY1 (1UL<<24) // P0.25
    #define PINY2 (1UL<<24) // P0.28
    #define PINX1 (1UL<<25) // P0.24
    #define PINX2 (1UL<<31) // P0.27

    #define DIRY1 IODIR0
    #define DIRY2 FIO3DIR
    #define DIRX1 IODIR0
    #define DIRX2 IODIR1

    #define SETY1 IOSET0
    #define SETY2 FIO3SET
    #define SETX1 IOSET0
    #define SETX2 IOSET1

Bei anderen IOs im Code steht zum Bleistift folgendes:
    #define SED1335_uSel_PIN    (u32)(1UL<<28) // P4.28
    #define SED1335_uSel_DIR    FIO4DIR
    #define SED1335_uSel_CLR    FIO4CLR
    #define SED1335_uSel_SET    FIO4SET

Nun hat sich die Belegung geändert:
PINY1 bleibt auf P0.25
PINY2 nun auf    P1.31
PINX1 bleibt auf P0.24
PINX2 nun auf    P3.24

Ich habe folgendes ohne Erfolg probiert:
    #define PINY1 (1UL<<25)
    #define PINY2 (1UL<<31)
    #define PINX1 (1UL<<24)
    #define PINX2 (1UL<<24)

    #define DIRY1 IODIR0
    #define DIRY2 IODIR1
    #define DIRX1 IODIR0
    #define DIRX2 FIO3DIR

    #define SETY1 IOSET0
    #define SETY2 IOSET1
    #define SETX1 IOSET0
    #define SETX2 FIO3SET

Kann mir jemand auf die Sprünge helfen?
Danke.

Gruß
Herbert
Gast #1337042
Ich habe gerade noch folgendes gefunden:
    #define SELECTY1IO PINSEL1&=~((1UL<<16)|(1UL<<17))
    #define SELECTX1IO PINSEL1&=~((1UL<<18)|(1UL<<19))
    #define SELECTY1AD PINSEL1|= (1UL<<16)
    #define SELECTX1AD PINSEL1|= (1UL<<18)

    #define SELECTY2IO PINSEL7&=~((1UL<<16)|(1UL<<17))
    #define SELECTX2IO PINSEL3&=~((1UL<<30)|(1UL<<31))

Das muss wohl auch angepasst werden und enthält vermutlich die gesuchten 
Pinkonfigurationen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.