Taste an AtTiny2313.

Gast #684695
Lesenswert?
• ▲
▼
Hi,

ich hab ein Problem, es geht einfach nicht.

Also von Anfang an:
Ich habe einen Attiny2313, an dem ich PD6 ein Taste angeschlossen.

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Tasten_und_Schalter
Die Taste ist Active Low aufgebaut.

Mein Programm sieht so aus:
1
#include <avr/io.h>
2
#include <avr/delay.h>
3

4
void main()
5
{  
6
  int i;
7
  
8
  DDRB |= (1<<PB2);  //LED ausgang
9
  DDRD &= ~(1<<PD6);  
10
  //PORTD &= ~(1<<PD6);
11
  
12
  PORTB &= ~(1<<PB2); //LED AUS
13
    
14
  while(1)
15
  {
16
    if( (PORTD & (1<<PD6)) )
17
    {
18
      for(i=0; i<10; i++)
19
      {
20
        _delay_ms(20);      
21
      }
22
      PORTB ^= (1<<PB2); //Led toggeln
23
    }
24
  
25
    
26
  }
27
  
28
}


Also sollte die Led im 2 sec Takt blinken, wenn die Taste nicht gedrückt 
ist.

....
Mein Problem ist das es nicht geht.
Wo ist der Fehler ?

jeroen
#684697
Lesenswert?
• ▲
▼
1.: 20 ms * 10 sind 200 ms und nicht 2 s
2.: Die delay.h steht beim WINAVR (ich schließe aus dem Rest mal, dass 
Du den benutzt) im Unterverzeichnis "util" und nicht in "avr".
3.: Wenn die Taste tatsächlich "Low-aktiv" angeschlossen ist, dann macht 
die if-Abfrage genau das Gegenteil von dem, was Du beschreibst.
#684716
Lesenswert?
• ▲
▼
jeroen wrote:
> deine Einwand ist richtig.
> Aber das ist ja nicht das Problem.
Ach, wirklich? Wenn Du eine Funktion aus einer nicht vorhandenen 
Header-Datei verwenden willst, dann gibts mindestens Fehlermeldungen 
beim Compilieren. Demzufolge ist das durchaus ein Problem, ein großes 
sogar!

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.