Interrupt Neuling

OP #4077973
Lesenswert?
• ▲
▼
Hallo erstmal,

ich bin recht neu in dem Theme mikrocontroller und möchte das ganze mit 
C Programmieren, jetzt bin ich schon seit längeren auf der Suche nach 
einer Hilfe zum Thema Interrupt, also ich möchte das ein Programm bei 
Tastendruck startet und bei selbigen Tastendruck wieder aufhört, mhmmmm 
nur leider bekomme ich das alles andere als gebacken.

Wäre sehr sehr nett von euch wenn mir jemand helfen kann :)

Ansonsten frohe Ostern
OP #4077995
Lesenswert?
• ▲
▼
int main(void)
{
DDRA=0xF0;

while(1)
{
i=4;

for (i=5;i<=7;i++)

PORTA=~(1<<i);

_delay_ms(200);

}

for (i=1;i<=3;i++)

{

PORTA=~(0x80>>i);

_delay_ms(200);

}

}

}

Also es soll dieses Programm durchlaufen sobald die Taste gedrückt wird 
und anhalten wenn die Taste gedrückt. Wir machen das gante mit einem 
Atmega16 und die Interrupt Befehle mit cli und sei sind mir bekannt ich 
weiß nur nicht wie ich das ganze in den C code verpackte dass es auch 
wirklich läuft.
Gast #4078000
Lesenswert?
• ▲
▼
ich würde denke, das Hauptproblem ist das du mit delay arbeitest. Das 
ist zwar für das erste Blinken ok, aber es ist halt später immer ein 
Problem. Du kannst das nicht sinnvoll unterbrechen.

Versuche das Programm so zu schreiben, das es immer eine Hauptschleife 
durchläuft, ohne das irgendwo eine delay vorhanden ist.

Mit hilfe eines Timers kann du dir die Info besorgen ob gerade 100ms 
vergangen sind und dann in der Hauptschleife eine LED schalten.

Dann damit kannst du einfach in der Hauptschleife deinen Taster abfragen 
und darauf reagieren.

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.