- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 8 von 8

Thema: Pin-Zustand erkennen und schalten bei dauernd pin=1

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381

    Pin-Zustand erkennen und schalten bei dauernd pin=1

    Anzeige

    E-Bike
    Sooooo,
    (und Hallo)
    genug und schon wieder allzulang vielleicht über einer einfachen Sache gesessen und keine Lösung gefunden!

    Mein Problem:
    an einem Pin hängt eine Led, die zyklisch an und aus geht. Das einschalten der LED erkenne ich über den Port Change Interrupt. Wenn jetzt die LED aufhört zu blinken und dauernd an ist, soll eine Aktion ausgelöst werden.
    Irgend wie habsch nen Brett vorm Kopf, finde irgend wie keinen Lösungsansatz...

    Wer kann mir helfen?

    Grüße MAT

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.10.2004
    Ort
    Baoding
    Alter
    44
    Beiträge
    689
    Nimm einen entsprechenden Timer und setzt ihn in der PortChange Interrupt auf 0. Wenn der Timer dann überläuft wurde er wohl lange nicht zurückgesetzt und es blinkt nichts mehr
    Signatur??? kann ich mir nicht leisten!!!

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381
    Hi Rofo,

    Das ist eine gute Idee! Gibt es noch möglichkeiten ohne Timer?

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Na, du hast doch sicher irgendeine DO...LOOP Haupschleife. Wenn du da eine Zähler hochzählst, ist das genau genug. Ansonsten dir gleiche Logik a la @rofo88
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381
    An dem Hochzählen klemmt es eben halt. Habe diverse Möglichkeiten durchgespielt, komme aber jedoch nicht zum Erfolg, irgendwie hab ich nen Brett vorm Kopf. Hast Du ein Sample wie ich das mit dem Hochzählen lösen kann?

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.10.2004
    Ort
    Baoding
    Alter
    44
    Beiträge
    689
    in deiner Hauptschleife

    Code:
    i=i+1
    if i> 10000 then "mache was"
    und in deinem Interrupt
    Code:
    i=0
    Signatur??? kann ich mir nicht leisten!!!

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381
    ok, diese Form kann ich leider nicht nehmen. Ich weiß eben nicht wann die LED aufhört zu blinken (Akkuladeschaltung).
    Aber ich probiere gerade was anderes aus, vielleicht geht das:
    Code:
    If Laden = 1 Then
        Laden1 = Laden1 + 1
        Reset Laden
        Print "laden  " ; Laden
        Print "laden1   " ; Laden1
    
     End If
    
     If Laden1 > 1 And Pina.1 = 1 Then
        Portd.5 = 0
           Batladen = 0
           Laden1 = 0
         Print "Batladen   " ; Batladen
        Print "laden1 zurückgesetzt"
     End If
    
    '-----------------------
    Akku_isr:
    Set Laden
    If Laden1 = 100 Then Laden1 = 0
    Print "PCINT angesprungen"
    
    Return

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381
    Moin,

    Problem hat sich erledigt, ich habe einen bestehenden Timer verwendet. MAT

Berechtigungen

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

LiFePO4 Speicher Test