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
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
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.
Klingt gut, wie mach ich das?lass dir den Inhalt des Registers im Betrieb ausgeben
Wenn du eine Verbindung zum PC hast, einfach durch
Print bin(EICRA)
Oder an zwei Ausgangspins über
Portx.y = EICRA.ISC21 bzw EICRA.ISC20
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................................
für mich gerade viele Fragezeichen................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
Ich würde denken, dass du einen Volltreffer gelandet hast.Zitat von kollimann
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.
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
Bist du sicher? Sollte eigentlich genau anders herum sein.Zitat von kollimann
bei rising 00110000
bei change 00010000
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
Bascom Hilfe Config.....Zitat von kollimann
'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
Lesezeichen