www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik GPIO am LPC2378


Autor: Herbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Herbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

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.