ATMEGA32 port-pin Belegungsproblem.

Gast #1966091
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);
  }
}
Gast #1966109
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren