- LiFePO4 Speicher Test         
Ergebnis 1 bis 7 von 7

Thema: Atmega32, PORTC pullup will einfach nicht!?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    31
    Beiträge
    449
    Verwendest du den Port nur für die Taster?
    Ne, an dem Port hängt auch noch ein LCD, das funzt super. [EDIT] Das LCD wird aber vor den Tasten initialisiert, also das macht nicht wieder alles kaputt[/EDIT]

    Dann hast du selbst einen Fehler eingebaut. Du müsstest dann z.B. " PIN TAST_1 " schreiben. Du hast in der C-Datei nur TAST_1 bzw _2 geschrieben ohne PIN.
    ich nimm jetz mal als Beispiel:
    Code:
    TAST_PORT |= TAST_1 | TAST_2;
    Mit "#define TAST_PORT PORTC" ergibt das:
    Code:
    PORTC |= TAST_1 | TAST_2;
    #define TAST_1 ( PIN 0)
    Code:
    PORTC |= ( PIN 0) | TAST_2;
    #define TAST_2 ( PIN 1)
    Code:
    PORTC |= ( PIN 0) | ( PIN 1);
    #define PIN 1<<
    Code:
    PORTC |= ( 1<< 0) | ( 1<< 1);
    Müsste doch gehen??
    Geändert von -schumi- (29.05.2012 um 09:41 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.091
    Verwendest du den Port nur für die Taster?
    Ne, an dem Port hängt auch noch ein LCD, das funzt super. [EDIT] Das LCD wird aber vor den Tasten initialisiert, also das macht nicht wieder alles kaputt[/EDIT]
    Damit habe ich nur gemeint das du an dem Port bestimmt nicht nur 2 Tasten angeschlossen hast. Da du auch noch ein LCD angeschlossen hast passt der Name des Ports eigentlich nicht (LCD ist keine Taste). Wenn du nur Tasten/Schalter/o.Ä angeschlossen hättest würde der Name passen.



    So wie du es geschrieben hast sollte es funktionieren wenn, du hast recht. Hast du schon mit "PORTC |= (1<<PC0);" versucht? Eventuell übersetzt der Compiler das irgendwie nicht richtig.

    Zur Leichteren Lesbarkeit könntest du auch "#define TAST_1 (1<<PC0)" schreiben.

    PS: Die Ports sind Standartmäßig als Eingang definiert.

    MfG Hannes

  3. #3
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    31
    Beiträge
    449
    Da du auch noch ein LCD angeschlossen hast passt der Name des Ports eigentlich nicht (LCD ist keine Taste)
    Das LCD hat ja auch wieder seine eigene Bibliothek
    Code:
    #define    LCD_DDR        DDRC
    #define LCD_PORT    PORTC
    #define LCD_PIN        PINC
    #define    LCD_EN        ( PIN 3)
    #define LCD_RS        ( PIN 2)
    #define LCD_D0        ( PIN 4)
    #define LCD_D1        ( PIN 5)
    #define LCD_D2        ( PIN 6)
    #define LCD_D3        ( PIN 7)
    Hast du schon mit "PORTC |= (1<<PC0);" versucht?
    Jep. Habs auch schon mit "PORTC |= 0b00000011" versucht (in der Tast.c), hat aber auch nicht geholfen...

    PS: Die Ports sind Standartmäßig als Eingang definiert.
    Ich weis Schadet aber trotzdem nicht das nochmal explizit ins Programm zu schreiben^^

Ähnliche Themen

  1. UART/USART vom ATMega32 will einfach gar nicht
    Von Bamboocha im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 04.06.2010, 10:21
  2. Input PortC auser pin3/2 mit internal Pullup
    Von magic33 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 15.10.2008, 08:13
  3. ATMega32 Portc.2 und 3 ständig auf High
    Von strunz im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 11.05.2007, 13:29
  4. Verstehe Pullup nicht
    Von Murus im Forum AVR Hardwarethemen
    Antworten: 19
    Letzter Beitrag: 12.09.2005, 21:32
  5. Relais an portc (mit JTAG disable) schaltet nicht
    Von Adam im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 17.11.2004, 17:15

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen