Tasten entprellen Zeiterkennung am atmega164p

OP #871439
Hallo,

ich versuche am atmega164p die Tasten zu entprellen mit Zeiterkennung 
(long..short).
Die Beispiele hab ich mir im Forum bereits angeschaut, aber 
funktionieren bei mir irgendwie nicht.

Funktionieren tut aber:
1
    if(bit_is_set(PIND, 2))
2
    {  
3
    loop_until_bit_is_clear(PIND, 2);
4
    starte_funktion();
5
    }


Kann mir da jemand auf die Sprünge helfen, was beim atmega164p anders 
ist?
Gast #871470
Hi,

Dein Code (für Code-Abschnitte übrigens nur
1
[c] ANFANG
2
und ENDE [/c]
) ist die "intuitive/naive" Version, die auf Prellen keine Rücksicht 
nimmt.

> aber funktionieren bei mir irgendwie nicht.
Du musst uns schon genau wissen lassen, welcher Code wo und wie 
nicht funktioniert (Code ins Posting kopieren, wenn er länger ist als 
Anlage anhängen, genaue Fehlerbeschreibung). Hast Du den Code von einem 
anderen Prozessor auf den ATmega164p portiert? Gibt es 
Compiler-Warnungen?

Gruß

Fred
Gast #871521
Hi Sven,
> Allerdings kam schon mal als Compilerfehler (kein warning) im Code:
>
1
>   TCCR0 = 1<<CS02;        // divide by 256 * 256
2
>   TIMSK = 1<<TOIE0;        // enable timer interrupt
3
>
> undeclared first use in this function.
Kein Wunder: Du musst schon dafür sorgen, dass ein Programm auch auf 
Deinem spezifischen Prozessor lauffähig ist! Beim ATmega164p gibt es 
kein SFR "TIMSK", sondern mehrere TIMSKx-Register.

Also: Versuche den Code (insbesondere die Verwendung der Timer) zu 
verstehen; dann portiere den Code auf den Prozessor, auf dem er laufen 
soll.

Gruß

Fred

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.