www.mikrocontroller.net

Forum: GCC Anfänger STK500 - Taster abfragen

Autor: Oliver Noll (batman)
Datum: 07.05.2008 21:20

Guten Abend, auch ich bin nun stolzer Besitzer eines STK500 ;) Ich
studiere im 2.Sem. Elektrotechnik und auch dort programmieren wir
Mikrocontroller.

Daher habe ich mir zum üben und basteln das Entwicklungsboard von Atmel
gekauft. Heute habe ich das Board zum ersten Mal in Betrieb genommen und
meine ersten Programmier-Versuche hinter mir.

Ich habe bereits einen Timer parametriert,ISR programmiert und alle LEDs
mit einem bestimmten Takt blinken lassen.

Jetzt wollte ich gerne den Status der Taser abfragen und dann die
entsprechende LED ansteuern.

Habe mich auch schon mal etwas hier im Forum umgeschaut und bin auch auf
ähnliche Probleme gestoßen!

Habe jetzt diesen funktionierenden Code:
#include <avr/io.h> 
#include <avr/interrupt.h>

void main(void)
{
  PORTB= 0xFF;
  DDRB = 0xFF;
  DDRD = 0x00;  
  
  while (1)
    {
        PORTB= 0xFF;
  
  if(PIND==0xFE)
  PORTB=~0x01;
  }

  
}


Jetzt habe ich aber nochmal eine Frage:

Mit dieser Anweisung if(PIND==0xFE) klappt es, doch damit
if(PIND==~0x01) nicht!?

Warum?

mfg
Autor: Stefan "stefb" B. (stefan) Benutzerseite
Datum: 08.05.2008 09:52

Die rechte Seite des Vergleichs ist eine Zahlkonstante. In diesem Fall
ohne zusätzliche Kennzeichnung der Zahlkonstante ist es ein Integer
(int). Die beiden Integers 0xFE (genauer: 0x00FE) und ~0x01 (genauer:
~0x0001) sind nicht gleich.
Autor: Brun Von der gönne (brun)
Datum: 09.05.2008 08:32

Hallo,

hab auch ein STK500. Da sind die Taster per Hardware auf Activ-Low.
Also gedrückt=0 und nicht gedrückt=1.

Das selbe gilt auch für die LEDs.
Steht auch in der Hilfe vom WinAVR.

Gruß Brun

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net