www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMEGA32 port-pin Belegungsproblem.


Autor: Leo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe ein Problem mit der PORT-PIN Belegung. Und zwar möchte ich 
durch einen Schalter auf PORTC0 einen PIN PB4 umschalten können.
z.b Es soll durch den Schalter ein High signal am ATMEGA32 ankommen und 
dann soll der PIN PB4 auf 1 gesetzt werden.
Im unteren Beispiel ist der PB4 immer auf 1 gesetzt. Der schalter hat 
keinen Einfluss auf PB4.
Würde mich auf weitere Hilfe freuen.



#include <avr/io.h>
#include <stdio.h>




int main (void)
{
DDRB = 0xFF;
DDRC = 0x00;


  while(1)
  {

    if( PINC & (1<<PINC1))
    {
      PORTB= (1<<PB4); //Soll über PINC0 angesteuert werden.

    }
    else PORTB&=~(1<<PB4);
  }
}

Autor: Leo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es sollte if( PINC & (1<<PINC0)) sein

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Du sagst nichts dazu, wie der Schalter verdrahtet ist. Der benötigt 
einen Pull-Up (oder Pull-Down) Widerstand. Ganz einfach: nimm den 
internen Pull-Up!
2. Für Dein Programm (noch) nicht relevant: Entprellung.

Autor: Braten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JTAG am PORT C deaktiviert?

ohne den code gelesen zu haben?!

Autor: Leo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Hilfe!
Ich habs hinbekommen.
Hatte bei den Schalter keine Widerstände zu GND gehabt und beim 
Einschalten wurden sie sofort auf high geladen und nicht mehr entladen.
:)

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch besser beraten (Du sparst Hardware) wärst Du mit den 
prozessor-internen Pull-Up-Widerständen (Schalter dann gegen GND) und 
entsprechend umgekehrter Logik (PIN L bedeutet Schalter EIN).

Autor: Leo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du Recht. Danke für den Tipp.

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.