- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Atmega 324, INT2 auf Rising / steigend, wie geht das?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    08.08.2007
    Beiträge
    36

    Atmega 324, INT2 auf Rising / steigend, wie geht das?

    Anzeige

    Praxistest und DIY Projekte
    Hallo, brauch am Atmega 324 den INT2 als steigend, ich bekomm es nicht hin, egal was ich versuch, er geht nur fallend.

    Config Int2 = Rising
    Enable Int2
    Enable Interrupts

    On Int2 blabla

    so hab ich es erlesen, es geht nicht !

    Danke für jeden Ratschlag

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Könnte ein Fehler in Bascom sein.
    Wenn du mit Rising kompilieren kannst, dann schau dir im Simulator doch mal das Register EICRA an, ob die Bits 4 + 5 beide auf 1 gehen, wenn der Config Befehl kommt.
    Oder noch besser, lass dir den Inhalt des Registers im Betrieb ausgeben.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    08.08.2007
    Beiträge
    36
    lass dir den Inhalt des Registers im Betrieb ausgeben
    Klingt gut, wie mach ich das?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Wenn du eine Verbindung zum PC hast, einfach durch
    Print bin(EICRA)
    Oder an zwei Ausgangspins über
    Portx.y = EICRA.ISC21 bzw EICRA.ISC20

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    08.08.2007
    Beiträge
    36
    Jo PC Verbindung hab ich, werd ich morgen testen.

    DANKE

    wobei, wenn ich mir die Datei m324pdef.dat anschaue, ich denk ma das diese Datei die Parameter enthällt, und da den Teil INT lese, da steht nix von EIMSK 4 und 5 auf 1................................

    Code:
    ints=3                    ; ext ints
    int1=INT0,EIMSK.0,4       ; intname, enable register and bit, number of modes
    int1m1=LOW LEVEL,EICRA.0-0,EICRA.1-0    ;first mode, bits to set and value
    int1m2=CHANGE,EICRA.0-1,EICRA.1-0
    int1m3=FALLING,EICRA.0-0,EICRA.1-1
    int1m4=RISING,EICRA.0-1,EICRA.1-1
    int2=INT1,EIMSK.1,4       ; intname, enable register and bit, number of modes
    int2m1=LOW LEVEL,EICRA.2-0,EICRA.3-0    ;first mode, bits to set and value
    int2m2=CHANGE,EICRA.2-1,EICRA.3-0
    int2m3=FALLING,EICRA.2-0,EICRA.3-1
    int2m4=RISING,EICRA.2-1,EICRA.3-1
    int3=INT2,EIMSK.2,4       ; intname, enable register and bit, number of modes
    int3m1=LOW LEVEL,EICRA.2-0,EICRA.3-0    ;first mode, bits to set and value
    int3m2=CHANGE,EICRA.2-1,EICRA.3-0
    int3m3=FALLING,EICRA.2-0,EICRA.3-1
    int3m4=RISING,EICRA.2-1,EICRA.3-1
    für mich gerade viele Fragezeichen................

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von kollimann
    int2=INT1,EIMSK.1,4 ; intname, enable register and bit, number of modes
    int2m1=LOW LEVEL,EICRA.2-0,EICRA.3-0 ;first mode, bits to set and value
    int2m2=CHANGE,EICRA.2-1,EICRA.3-0
    int2m3=FALLING,EICRA.2-0,EICRA.3-1
    int2m4=RISING,EICRA.2-1,EICRA.3-1
    int3=INT2,EIMSK.2,4 ; intname, enable register and bit, number of modes
    int3m1=LOW LEVEL,EICRA.2-0,EICRA.3-0 ;first mode, bits to set and value
    int3m2=CHANGE,EICRA.2-1,EICRA.3-0
    int3m3=FALLING,EICRA.2-0,EICRA.3-1
    int3m4=RISING,EICRA.2-1,EICRA.3-1


    für mich gerade viele Fragezeichen................
    Ich würde denken, dass du einen Volltreffer gelandet hast.

    Bei INT2 (fett) werden die Bits vom Int1 gesetzt, nämlich 2 und 3. Ersetze die fetten Zeilen doch mal durch folgendes:
    int3m1=LOW LEVEL,EICRA.4-0,EICRA.5-0 ;first mode, bits to set and value
    int3m2=CHANGE,EICRA.4-1,EICRA.5-0
    int3m3=FALLING,EICRA.4-0,EICRA.5-1
    int3m4=RISING,EICRA.4-1,EICRA.5-1

    und probier es noch mal aus.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    08.08.2007
    Beiträge
    36
    OK, also das Umschreiben hat folgendes bewirkt.
    Die Print Ausgabe

    bei rising 00010000
    bei change 00110000

    und es scheint auch praktisch zu funktionieren.

    Ich mach mal weitere Tests.

    DANKE

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von kollimann
    OK, also das Umschreiben hat folgendes bewirkt.
    Die Print Ausgabe

    bei rising 00010000
    bei change 00110000
    Bist du sicher? Sollte eigentlich genau anders herum sein.
    bei rising 00110000
    bei change 00010000

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    08.08.2007
    Beiträge
    36
    OK nochmal

    Rising 00110000
    Change 00010000
    Falling 00100000

    wohl vertippt oder verlesen

    So bisherige Test SUPER !

    Ich denk das passt so.
    Wieder was dazu gelernt.

    DANKE

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555

    Re: Atmega 324, INT2 auf Rising / steigend, wie geht das?

    Zitat Zitat von kollimann
    Hallo, brauch am Atmega 324 den INT2 als steigend, ich bekomm es nicht hin, egal was ich versuch, er geht nur fallend.

    Config Int2 = Rising
    Enable Int2
    Enable Interrupts

    On Int2 blabla

    so hab ich es erlesen, es geht nicht !

    Danke für jeden Ratschlag
    Bascom Hilfe Config.....



    'we use the int0 interrupt to detect that our slave is addressed

    On Int0 Isr_sspi Nosave

    'we enable the int0 interrupt

    Enable Int0

    'we configure the INT0 interrupt to trigger when a falling edge is detected

    Config Int0 = Falling

    'finally we enabled interrupts

    Enable Interrupts

    Möglich das bei Dir nur die Reihenfolge der Befehle nicht passt?

    Gruß Richard

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test