- Labornetzteil AliExpress         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 24 von 24

Thema: Interrupt und PCF8574

  1. #21
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.04.2004
    Ort
    Gronau
    Beiträge
    155
    Anzeige

    Powerstation Test
    @PicNick,

    ich glaube, ich hab's. Mit folgender ISR-Routine funktioniert
    es:

    Code:
    'Service-Routine für INT5
    INT5_ISR:
    
       'Tastenstatus lesen
       I2CReceive PCF_Adr , PCF_Port
    
       'prüfen, ob Taste gedrückt war
       If PCF_Port.0 = 0 Then
          'rote LED an Port P6 umschalten
          Toggle PCF_Port.6
          'Tastenstatus auf nicht gedrückt setzen,
          'weil sonst INT5 nur ein einziges Mal
          'ausgeführt wird!
          PCF_Port.0 = 1
          'Änderungen zum PCF8574 senden
          I2CSend PCF_Adr , PCF_Port
       End if
    
    Return
    Wenn ich PCF_Port.0 = 1 nicht drin habe, wird der Interrupt
    bei Config Int5 = Falling nur ein einziges Mal ausgeführt!

    Ich vermute, das liegt daran, das I2CSend eine Null auf
    PCF_Port.0 zurückschreibt, obwohl in dem Moment die Taste
    nicht mehr gedrückt und PCF_Port.0 = 1 ist.

    Bzgl. Deiner Messanleitung: bei Schritt 3 geht der INT-Pin vom
    PCF nur auf Low, wenn Config Int5 = Rising ist. Bei Falling tut
    sich da überhaupt nix oder mein Meßgerät bekommt das nicht
    mit. Könnte auch sein ...

    D A N K E: - Reinhard -

  2. #22
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Zitat Zitat von RHS
    ...bei Schritt 3 geht der INT-Pin vom PCF nur auf Low, wenn Config Int5 = Rising ist. Bei Falling tut sich da überhaupt nix .....
    Das ist eigentlich seltsam, da ja der PCF-Chip nicht wissen kann, welche config-Bits im AVR gesetzt sind. Ich les mir jetzt nochmal genau die Int-Beschreibung des PCF durch. Wenn mir nach Mysterien zu Mute ist, schau ich mir einen Harry-Potter Film an. Bei der Elektronic schätze ich das überhaupt nicht.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #23
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.04.2004
    Ort
    Gronau
    Beiträge
    155
    @PicNick,

    ja, ist schon sehr mysteriös ...

    Kurz als Ergänzung: wenn ich den ganzen Interrupt-Kram auskommentiere,
    dann geht auch der INT-Pin vom PCF auf Low ... Nur halt nicht, wenn der
    M128 die Interrupts behandeln soll.

    Viel Spaß bei Harry Potter .

    Gruß: - Reinhard -

  4. #24
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Vom PCF aus gesehen, ist das ok. Bei irgendeiner Flanke der Datenleitungen geht INT auf LOW, solange, bis der PCF gelesen oder geschrieben wird.

    Ich les aber, eigentlich sollte man dem PCF erstmal lauter 1-er und dann 0-er reinschreiben, bevor man ihn als Input -Port verwendet (Seite 11, für mich im Moment ein wenig verwirrend).

    Vorschlag Versuch:
    Sende &HFF zum Pcf, dann &H00. (write-addr)
    Und dann lies EINMAL das Port aus. (read-addr)
    Und dann erst den Interrupt enablen.

    Ich muß mal meine RNBFRA aktivieren und das mit dem Interrupt selber probieren, vielleicht werd' ich schlauer.


    EDIT: Achja, Harry Potter: Solang' ich mit Robbies was zu tun hab, werd' ich wohl keinen Bedarf haben.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

12V Akku bauen