mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interrupt funktionniert nicht


Autor: Mohi Mohi (Firma: Student) (mohi34)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich möchte gern Interrupt mit AVR Studio probieren, leider beim Debbugen 
bleibt der Simulator bei der Funktion Sei() hängen.. und wenn ich eine 
Hacke in PD2 tut nicht.. ich kann keine Hacke nirgendwo machen

Wenn ich ein PORTX als Eingang definiere, dann muss er normalerweise zur 
Verfügung stehen..


Hier ist der Code:


#include <inttypes.h>
#include <avr/io.h>

#include <avr/interrupt.h>


ISR (INT0_vect)
{
  PORTB = ~ PORTB;
}

int main(void)
{


    DDRD  = 0x00;         // use all pins on port D for input

  PORTD = 0xFF;

   DDRB  = 0xff;               // use all pins on PortB for output

  MCUCR |= ( 1<< ISC00)| ( 1 << ISC01);

  GICR |= (1 << INT0);

  sei();


  while (1);

  return 0;
}

Danke am Voraus

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simulier das mal Schritt für Schritt. An sich muss das so funktionieren. 
Wenn Du natürlich die Simulation mit "Run" (F5) startest, dann hängt der 
sich nicht beim sei() auf, sondern arbeitet die Endlosschleife ab. Da Du 
aber vermutlich keine Breakpoints gesetzt hast und außerdem beim 
normalen Lauf die I/O-Views nicht aktualisiert werden, während die 
Simulation läuft, musst Du entweder mit "Step Into" (F11) oder mit "Auto 
Step" (Alt+F5) das ganze durchgehen. Und setz mal einen Breakpoint in 
der ISR. Wirst schon sehen, dass es dann klappt.

Autor: Mohi Mohi (Firma: Student) (mohi34)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Danke für die schnelle Antwort, ich habe das gemacht wie Sie es gesagt 
hast leider geht nicht ..
ich habe das Programm anders geschrieben, und jetzt geht
Hier ist der Code:


#include <inttypes.h>
#include <avr/io.h>

#include <avr/interrupt.h>


ISR (INT0_vect)
{
  PORTB = ~ PORTB;
}

int main(void)
{

while (1)

{
    DDRD  = 0x00;         // use all pins on port D for input

  PORTD = 0xFF;

   DDRB  = 0xff;               // use all pins on PortB for output

  MCUCR |= ( 1<< ISC00)| ( 1 << ISC01);

  GICR |= (1 << INT0);

  sei();
}



  return 0;
}

Danke am Voraus

Autor: Christoph Mmmmmmm (Firma: privat) (mauralix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beitrag "Interrupt einstellen "" Anfänger"""
Ich habe dir doch schon ein funktionstüchtiges Programm geschrieben. Und 
bitte deutsche Formulierungen. Ansonsten schreiben wir hier ja 
vielleicht Software für ausländische Terroristen, die eine 
Bombensteuerung basteln wollen. Copy&Paste ist doch auch nicht so 
schwierig!

Autor: Mohi Mohi (Firma: Student) (mohi34)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was soll ich ja dazu sagen. hätten sie nicht geantwortet, wäre lieber..
und ausserdem sie sind dazu nicht gezwungen..was du geschrieben hast 
zeigt schon deine Niveau.. na ja das ist leider Internet

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Bist du eigentlich irgendwie lernresistent? Selbst als notorischer 
Assemblerprogrammierer sehe ich, daß dein Programm Blödsinn ist.
Deine Portinitialisierung gehört vor die while-Schleife. In deinem 
Programm wird zwar in der Interruptroutine der Port invertiert, aber 
beim nächsten Schleifendurchlauf wieder auf die Ausgangswerte 
zurückgesetzt.
Vielleicht solltest du doch den Rat erfahrener Programmierer annehmen.

MfG Spess

P.S. Studierst du wirklich?

Autor: Mohi Mohi (Firma: Student) (mohi34)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1- Was Mikrocontroller angeht, ich bin Anfänger (Seit 3 Wochen ungefähr)
2- Dieses Code gehört mir nicht, ich wollte nur testen.
   Wenn jemand was gegen dieses Code hat, dann bitte schön:
     Beitrag "Interrupt einstellen "" Anfänger"""

  viel spas beim Tauziehen....?????

3- ich hatte nur eine Frage am anfang gehabt, die Antwort war blöde 
Kommentaren!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! :

    *- Ansonsten schreiben wir hier ja vielleicht Software für
     ausländische Terroristen, die eine Bombensteuerung basteln
      wollen.

    * Studierst du wirklich?


4- ich bin zwar auslander, studiere an der Uni Düsseldorf und manschmal 
ich achte nicht drauf was ich  schreibe, aber das gibt keinem Recht mich 
oder allgemein Auslander zu beleidigen.

und Bitte der Rat erfahrener Programmierer in der Programmierung nicht 
in was 
anders.......???????????????????????????????????????????????????????

???????????????????????????????????????????????????????
Wo sind die Administratoren????????????????????????????
???????????????????????????????????????????????????????

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 4- ich bin zwar auslander, studiere an der Uni Düsseldorf und manschmal
> ich achte nicht drauf was ich  schreibe, aber das gibt keinem Recht mich
> oder allgemein Auslander zu beleidigen.

Ich denke nicht, dass man dich hier als Ausländer diskriminieren will, 
aber wenn du schon selbst schreibst:

> ich achte nicht drauf was ich  schreibe

...solltest du dir mal gedanken machen, ob du nicht doch lieber mal 
darauf achten solltest was du schreibst.


> ???????????????????????????????????????????????????????
> Wo sind die Administratoren????????????????????????????
> ???????????????????????????????????????????????????????

Die sind schon da, aber sie sind nun mal keine Kindermädchen... (sorry)

Gruß,
Magnetus

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mohi Mohi wrote:
> was soll ich ja dazu sagen. hätten sie nicht geantwortet, wäre lieber..
> und ausserdem sie sind dazu nicht gezwungen..was du geschrieben hast
> zeigt schon deine Niveau.. na ja das ist leider Internet

Ja, was soll man zu so viel Borniertheit sagen... das stellt ja den 
dümmsten Troll noch in Schatten...

Autor: Mohi Mohi (Firma: Student) (mohi34)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich bin hier in einer Hoffe von..................... gelandet.

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich bin hier in einer Hoffe von..................... gelandet.

Dann solltest du die Uni wechseln. ;)

Vor allem solltest du das Datenblatt deines Controllers studieren 
(=lesen + verstehen) und dir mal die Tutorien angucken.
Den Code anderer einfach stur zu übernehmen, hilft dir bestimmt nicht.

Autor: Mohi Mohi (Firma: Student) (mohi34)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo
Danke für den Hinweis, habe ich auch ..und immer noch dabei..
und Sorry falls ich jemand verletzt habe .. ich versuche nur Parallel 
die einfache Programme zu testen, und .. zu verstehen..

Anscheinend ihr habt genug Lust und Kraft Leute zu beleidigen und daran 
zu stehen und sogar weiterzumachen.

ENTSCHULDIGUNG..

Autor: mohi34 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entschuldigung " Johannes M."  "Christoph Maurer"  "Magnus Müller" 
"Rahul Der trollige".

ich bitte euch meine Entschuldigung anzunehmen.. ihr seid wirklich sehr 
behilflich... das gebe ich zu......und versprochen keine Fragen mehr :-)

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mohi, laß doch diesen Unsinn. Machs wie ich: Blöde Beiträge kann man 
einfach ignorieren.

Wenn man das allerdings mit denen auch tut, die konstruktiv und ernst 
gemeint sind, dann wird man - nicht nur hier - wenig Freude haben.

Konzentriere dich einfach auf das Problem, stelle klare Fragen und nimm 
ernstgemeinte Tipps ernst, dann wird du sehen, daß du schnell weiter 
kommst.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aach kommt Leute der Junge hatte es nicht so gemeint Auslander zu sein 
ist manschmal vom Vorteil :-))...mohi34 lass es du bist willkommen und 
wenn du Fragen hast .. du kannst mit mir rechnen

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man man is das nen rumgeflame hier... ;)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ooooohhhhhhhhhhhhhhhh Mohi Willkommen in "www.mikrocontroller.net" 
selbst
erfahrene Programmierer brauchen ab und zu mal jemand zum ...
opst sorry erfahrene Programmierer

Autor: Christoph Mmmmmmm (Firma: privat) (mauralix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wollte hier niemanden aus Ausländer beschimpfen. Ich habe mich nur 
ein wenig gewundert. Beitrag "Interrupt einstellen "" Anfänger""" In 
diesem Thread habe ich ein lauffähiges Programm für externe Interrupts 
geschrieben, welches dankend angenommen wurde. Dann hat mohi einen neuen 
Thread erstellt wo er dieses Programm kaputt gemacht hat und stellt 
wieder die gleiche Frage. Da kann man wohl noch kaum helfen. Ein 
bisschen mitdenken muss man schon. Ich hatte schon fast schlechtes 
Gewissen, da ich hier gratis Programme erstelle. Eines Tages fragt wer 
um einen Atombombenbauplan....

Autor: Mohi Mohi (Firma: Student) (mohi34)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry christoph,
Wie gesagt ich bin ein Anfänger.. und durch Fehler lernt man!
Schade, dass durch nur eine einfache Frage zu viele Missverständnisse...
und das ist ganz normal Viele Missverständnisse und sogar Konflikte 
entstehen, weil nicht alle über dasselbe Wissen verfügen.

nochmal sorry :-)

Autor: Christoph Mmmmmmm (Firma: privat) (mauralix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht klar, aber in Zukunft besser copy&paste richtig machen. Geht ganz 
einfach (Strg+C(Kopieren),Strg+V(Einfügen)), zumindest unter meinem 
Xp-System. ;-)

Natürlich sollst du dann dein Programm entsprechend deinen Anforderungen 
anpassen, aber das Grundgerüst kannst du ruhig übernehmen.

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.