- Labornetzteil AliExpress         
Ergebnis 1 bis 9 von 9

Thema: Schalter K6 löst SIG_INTERRUPT1 nicht aus [gelöst]

  1. #1
    Neuer Benutzer
    Registriert seit
    28.04.2007
    Ort
    Radeberg
    Beiträge
    4

    Schalter K6 löst SIG_INTERRUPT1 nicht aus [gelöst]

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    ich habe ein kleines Problem mit dem K6.
    SIG_INTERRUPT1 wird nicht ausgelöst, wenn der Schalter gedrückt wird.
    (Bei allen anderen Schaltern funktioniert es.)

    Der Wert von K6 kann mit PollSwitch() richtig gelesen werden - der Schalter ansich funktioniert also.

    Ist dieses Problem jemanden bekannt?

  2. #2
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    der interrupt wird durch einen spannungsabfall am prozessor ausgelöst. vielleicht ist der widerstand zu groß. schliesse den widerstand des tasters kurz (siehe schaltplan) und drücke dann nochmal. es könnte auch sein dass der interrupt etwas zeitverzögert ausgelöst wird.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  3. #3
    Neuer Benutzer
    Registriert seit
    28.04.2007
    Ort
    Radeberg
    Beiträge
    4
    ...schönen Dank für die schnelle Antwort und den guten Tip ;o)
    Wenn der Widerstand kurzgeschlossen ist, kommt das Signal tatsächlich durch.

    Der eingebaute Widerstand ist von den Farben her richtig, aber vielleicht reizt er ja die Toleranz aus. Ich werde ihn mal ersetzen.

    Danke nochmal und Gruss,
    schobi

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    ja genau, versuch das. miss den neuen aber vorher durch...
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    67
    Beiträge
    531
    Hallo,

    Ich habe ein kleines Problem mit dem K6.
    SIG_INTERRUPT1 wird nicht ausgelöst, wenn der Schalter gedrückt wird.
    (Bei allen anderen Schaltern funktioniert es.)
    Es konnte vielleicht sein dass es kein hardware fehler ist aber dass es davon abhangt wie dein Program geschrieben ist.

    Postet sonst mal dein Code da kann mann vielleicht etwas mehr daruber sagen.

    Gruss

    Henk

  6. #6
    Neuer Benutzer
    Registriert seit
    28.04.2007
    Ort
    Radeberg
    Beiträge
    4
    Hallo Henk,

    der Code, den ich zum Testen genommen habe wertet eigentlich nur den Interrupt aus und schaltet bei empfangenem Interrupt die Status-LED für eine gewisse Zeit aus:
    Code:
    #include "asuro.h"
    
    /* ===================== */
    /* ----  INTERRUPTS ---- */
    /* ===================== */
    volatile unsigned char lastSwitch;
    volatile unsigned char switchPressed;
    
    SIGNAL(SIG_INTERRUPT1){
    	lastSwitch=1;
    	switchPressed=TRUE;
    }
    
    /* ===================== */
    /* ----     MAIN    ---- */
    /* ===================== */
    int main(void)
    {
    	Init();
    	StartSwitch();
    	sei();
    
    	lastSwitch=0;
    	
    	
    	while(1){
    		int i;
    		
    		StartSwitch();
    		StatusLED(RED);
    	
    		if(switchPressed){
    			StatusLED(OFF);
    			switchPressed=FALSE;
    
    			for(i=0;i<300;i++)
    				Sleep(0xD8);
    		}
    	}
    
    	return 0;
    }
    Ich habe den R30 inzwischen auch mal gemessen: 66,5kOhm ... eigentlich hatte ich (auch nach damaltors Antwort) erwartet, dass er höher als 68k ist. Soll ich jetzt gleich einen neuen einsetzen, der kleiner als die originalen 68k ist? (Habe auch mal R24 gemessen, der vor dem Interrupt Eingang hängt: 992Ohm - das ist innerhalb der Toleranz).

    Gruss,
    schobi

  7. #7
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    hmm.. versuch mal einen möglichst genau passenden zu bekommen....

    wenn der widerstand zu groß ist, kommt weniger spannung an bzw fliesst durch, es wird weniger gemessen... und die pollswitch-zahl ist um 1 niedriger =)
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    67
    Beiträge
    531
    Hallo,

    Da sehe ich kein Prizipiele Fehler im Program. Nur die zweite 'StartSwitch' ist uberflussig aber dass macht nichts.
    Bei mir funktionieren mit deinem Program alle Tasten gleich inklusief K6.
    Funktioniert deine K6 doch mit dem Selbsttest?
    Es scheint mir wie damaltor schrieb dass irgendwo die R30 Wert viel gross ist oder die Wert von R23 (1M) viel zu klein oder deine Taste K6 hat irgendwo ein zo grossen Wiederstand beim drucken.

    Vielleicht mal alle Wiederstanden durchmessen.
    http://home.planet.nl/~winko001/Asur...uInfPagFrm.htm
    (Measure Asuro Switches Resistor's (.jpg))

    Gruss

    Henk

  9. #9
    Neuer Benutzer
    Registriert seit
    28.04.2007
    Ort
    Radeberg
    Beiträge
    4
    Hallo Henk,

    ja, der Schalter-Selbsttest hat funktioniert.
    Ich habe jetzt auch nochmal den R23 gemessen: der ist viel zu klein (obwohl auch bei dem die Farben stimmen... ).

    Ich werde also nächste Woche mal erst den R23 wechseln. Und wenn es dann immer noch nicht geht, dann den R30 wie von damaltor vorgeschlagen.

    Gruss und Danke,
    schobi

Berechtigungen

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

Solar Speicher und Akkus Tests