- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 39

Thema: Eingänge an RNBFRA-Board überwachen - Neuling

  1. #21
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    36
    Beiträge
    1.614
    Anzeige

    E-Bike
    hassu mal nen messgerät, und könntest mal die int-leitung durchmessen, ob da überhaupt nen signal kommt?

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  2. #22
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.11.2005
    Ort
    Bayern
    Alter
    55
    Beiträge
    310

    I2C-Bus

    Hallo Martin,
    die Kommunikation des PCF2 mit dem Mega32 funktioniert doch über den I2C-Bus.
    Kann es vielleicht sein, dass es nicht funktioniert, weil der "stop" des I2C die Kommunikation abschaltet und somit auch der Interrupt nicht abgefragt wird?

    Silvio

  3. #23
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    36
    Beiträge
    1.614
    ich schau mir jetzt mal das datenblatt von deinem PDF an, und gucke mal, wann da überhaupt nen INT rauskommt, und wann nicht, dann sach ich bescheid

    wie heißtn der PCF genau?

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  4. #24
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.11.2005
    Ort
    Bayern
    Alter
    55
    Beiträge
    310
    PCF heißt PCF 8574AP.

    Silvio

  5. #25
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    36
    Beiträge
    1.614
    so, der int kommt immer wenn der pcf im read-mode ist, aber sowohl auch immer, wenn nen portchange stattgefunden hat, ausserdem isser wirklich low-active, also iss das mit dem falling schon ganz richtig...

    jetzt weiß ich aber nicht so ganz, ob der int denn auslöst, kann ja sein, dass wir hier nen spezialfall haben, also wärs echt mal gut, du würdest mit nem messgerät nachmessen, ob da ne spannung von 5V auf 0V fällt, wenn du ne tastedrückst, mach das mal...

    jetzt binnich auf der nächsten seite, und schreibe die antwort, weiß also nicht, ob du den pull-up angemacht hast, ich glaube, so wie ich das jetzt verstanden habe, darf der nich an...

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  6. #26
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.11.2005
    Ort
    Bayern
    Alter
    55
    Beiträge
    310

    Messen und so

    Habe nun noch mal ein Terminalfenster aufgemacht, um den Status anzuzeigen.

    Konfiguration Interrupt und Eingang:
    Code:
    Config Int2 = Falling
    Enable Int2 
    Enable Interrups 
    On Int2 Int2_isr
    
    Config Pin.b2 = Input
    Config Portb.2 = 0    'Pull-up aus
    Spannung am Int2 = 1 Volt - also undefiniert offen.

    ->> wird permanent die Int2_isr ausgeführt und der Wert im Terminal aktualisiert.
    Tasten werden mit den entsprechenden Werten 247 und 251 wiedergegeben.
    Gelentlich reagiert dann die Tasteneingabe mit Starten der Motoren. Dann bleiben die Motoren solange an, bis die selbe Taste wieder gedrückt wird. Die Int2_isr wird, solange der Motor läuft, nicht durchlaufen. Somit kann auch nicht auf die andere Taste reagiert werden.

    Konfiguration Interrupt und Eingang:
    Code:
    Config Int2 = Falling
    Enable Int2 
    Enable Interrups 
    On Int2 Int2_isr
    
    Config Pin.b2 = Input
    Config Portb.2 = 1    'Pull-up ein
    Spannung am Int2 = 0 Volt - Definiert LOW
    ->> keine Terminalausgabe, die Int2_isr wird nicht durchlaufen.
    kann ja auch nicht da Tasten gegen GND schalten. Keine Interruptauslösung.
    Gebe ich 5 Volt auf einen Eingang am PCF passiert auch nichts. Bei direkter Beschaltung des Int2 mit High (5Volt) - läuft die Int2_isr ab und gibt 255(1111 1111) im Terminal ab.

    Habe an den Int1 auch getestet:
    Bei Int1 ist das genau so. Wenn ich nun mit eingeschalteten Pull-up Widerstand den Int(x) direkt mit High(5Volt) schalte, läuft die Int(x)_isr ab.

    Frage mich jetzt, warum der PCF die 5Volt am Eingang nicht ausgibt.
    5Volt am Eingang Port3 - Ausgabe "3"(0000 0100) und Port 4 - Ausgabe "4"(0000 1000)

    Silvio

  7. #27
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    36
    Beiträge
    1.614
    LOL

    das iss ja funnig, ich glaub so langsam müsste ich mir die schaltung hier auch mal aufbaun, ich weiß jetzt auf jeden fall nicht mehr, warum da jetzt wo der fehler liegt...

    tut mir echt leid, ich meine das müsste so gehen, der int iss ja auch enabled, aber warum der undef iss, weißich nich, wundert mich eigentlich, nen pull-down braucht der nich, der iss ja eh active-low....

    hast du noch nen ansatz?

    [EDIT]aso, es gibt noch sowas, dass du oben sachst "on var = ... var_isr" dann sollte der springen, wenn die var sich ändert... also versuch das mal, und dann lass in der do-loop einfach nur noch die taster auslesen[/EDIT]

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  8. #28
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.11.2005
    Ort
    Bayern
    Alter
    55
    Beiträge
    310
    was meinst du mit "var"?
    Silvio

  9. #29
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    36
    Beiträge
    1.614
    deine variable, die du für die tastenspeicherung nimmst, also i2cdaten

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  10. #30
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.11.2005
    Ort
    Bayern
    Alter
    55
    Beiträge
    310

    isr

    I2cdaten kann doch keine _isr (interrupt service routine) ausführen.
    Das kann doch nur der Interrupt. Oder ?

    Silvio

Seite 3 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress