-
        

Ergebnis 1 bis 10 von 10

Thema: int0 und int1 zusammenschalten? (1x rising, 1x falling edge)

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137

    int0 und int1 zusammenschalten? (1x rising, 1x falling edge)

    Anzeige

    Moin,

    Hoffe ihr könnt mir helfen. Ich hab hier n Optokoppler, der int0 eines atmega128 auf low zieht, sobald der Optokoppler aktiviert wird.

    Ich möchte nun 2 getrennte Interrupts haben. Einmal bei steigender Flanke, einmal bei fallender Flanke.

    Kann ich jetzt einfach beide interrupt-pin "kurzschließen" und den einen entsprechend falling edge und den anderen rising edge programmieren?

    Viele Grüsse

    Jan

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137
    Würde doche eigentlich reichen, wenn ich vor den beiden interrupt-pins nen 1K-Ohm-Wiederstand mache? Oder kann ich die Wiederstände auch weglassen?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    Du kannst doch auch das Signal nur an INT0 anlegen und bei steigender und fallender Flanke einen Interrupt auslösen lassen. Dann muss du in der ISR noch prüfen, ob grad 0 oder 1 anliegt und dann hast du im Prinzip auch deine zwei Interrupts, nur ein wenig eleganter.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    05.08.2004
    Beiträge
    93
    Wie wärs mit nem Interrupt bei beiden flanken, und ner if-abfrage ob sie steigend oder fallend war?

    mfg gamecounter

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Softwarelösung: Den Int auf beliebige Flanke einstellen und dann in der ISR am Anfang prüfen ob der Pin grad high (->steigende Flanke) oder low (->fallende Flanke) ist.

    EDIT: drei Leute gleichzeitig dieselbe Idee... zwei kommt ja schon mal vor, aber drei ist ja eher selten...

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137
    Laut Datenblatt geht das beim ATMEGA nur von Int4 - 7 den int. bei beiden Flanken auszulösen.

    Genau das möchte ich ja auch nicht. Möchte für jedes Event einen eigenen Interrupt.

    Gruss

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137
    So hätte ich das jetzt gebaut. Geht das? Können die Wiederstände weggelassen werden (R1 + R2)?

    Gruss
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken schaltung_804.gif  

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Theoretisch geht es auch so:


    Code:
               +5V
                |
                R
                |
    Opto o--------- INT 0
                |
                 ------ INT 1
    €dit:

    Zitat Zitat von boeseTURBO-CT
    Laut Datenblatt geht das beim ATMEGA nur von Int4 - 7 den int. bei beiden Flanken auszulösen.

    Genau das möchte ich ja auch nicht. Möchte für jedes Event einen eigenen Interrupt.

    Gruss
    Nuja, das mit de Flanken kann er auch mit INT 0 - 3 ...
    aber das nur so nebenbei

    Nuja, kommt immernoch drauf an, was du in die ISRs reinpacken willst ....

    Ansonsten kann auch ich mich nur meinen Vorrednern anschließen.

    Ausgangszustand: INT 0 auf fallende Flanke konfigurieren

    fallende Flanke:
    - INT 0 auf steigende Flanke konfigurieren
    - ISR für fallende Flanke durchführen

    steigende Flanke:
    - INT 0 auf fallende Flanke konfigurieren
    - ISR für steigende Flanke durchführen

    Die Fallunterscheidung, welche ISR nun dran ist, und wie der INT 0 konfiguriert werden muss, könnte man z.B. mit nem Flag machen, oder man checkt einfach ISC00 in EICRA (wenn gesetzt dann steigende Flanke).

    Grüße,

    da Hanni.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137
    Ist halt die Frage was der Atmega dazu sagt, wenn die beiden Ports ohne wiederstand zusammenhängen (Spannungsdifferenzen können da ja eigentlich nicht auftreten, da ja beides eigentlich Eingänge und somit hochohmig sind...)

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    siehe Nachtrag von mir ....

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •