- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 9 von 9

Thema: Wartezeit nach PWM-Eingabe - brauche Hilfe

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    Pseudo Code
    ich tu mich schwer immer gleich in fertigem Quellcode zu tippen, das fühlt sich dann immer so nach vorkauen an

    daher auch meine kleine vorfrage zu existierendem code ... wäre da sowas wie "hab noch garnix gemacht" bekommen hätt ich wohl weniger ausführlich geholfen
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  2. #2
    - das ist auch gut so, man soll sich ja auch ein wenig anstrengen ^^.

    Da ich nun Feierabend habe und endlich Daheim bin, hier der Code - hoffe, es ist nicht zu unübersichtlich...

    --------------------------------------------------------------------------------
    $regfile = "m8def.dat"
    $crystal = 8000000
    $hwstack = 40
    $swstack = 32
    $framesize = 60
    $baud = 9600


    'Konfiguriere Ports
    Config Portb = Output
    Config Portc = Input

    'Portb.3 = 1 'optional
    'Portb.4 = 1 'optional
    'Portb.5 = 1 'optional
    'Portb.0 = 1 'optional
    Portb.1 = 1
    Portb.2 = 1


    'Umbenennen der Eingänge
    'Taster1 Alias Pinc.0 '### Optional ###
    'Taster2 Alias Pinc.1 '### Optional ###


    'Umbenennen der Ausgänge

    Unterwasser Alias Portb.1
    Beleuchtung Alias Portb.2
    'Kabine Alias Portb.3 '### Optional ###


    'Variablendeklaration
    Dim Kanal3 As Byte 'Verdrahtet zu PinC.2
    Dim Zaehler As Byte
    Dim Flag As Bit





    '_________________________________________________ ______________________________

    ' *************************************
    ' ***** Hauptprogramm *****
    '*******************************************

    Do


    Pulsein Kanal3 , Pinc , 2 , 1 'Signallänge an PWM-Eingang stetig abfragen
    If Kanal3 > 85 Then
    If Kanal3 < 110 Then
    Set Flag
    Elseif Kanal3 > 112 Then
    Reset Flag
    End If

    If Flag = 1 Then
    Incr Zaehler : Waitms 500
    End If

    Select Case Zaehler
    Case 0 : Beleuchtung = 0 : Unterwasser = 0
    Case 1 : Beleuchtung = 1 : Waitms 1000
    Case 2 : Unterwasser = 1 : Waitms 1000
    Case 3 : Zaehler = 0 : Waitms 1000
    End Select




    End If


    Loop

    End

    - - - Aktualisiert - - -

    Hallo Freunde,

    habe ein wenig am Programm gebastelt und es würde definitiv funktionieren, wenn, ja wenn da nicht meine Fernsteuerung wäre, die mir einen gaaaanz klitzekleinen Strich durch die Rechnung macht

    Das Problem ist nämlich, dass der 3te Kanal an meiner Fernsteuerung bereits ein reiner Schaltkanal ist. Demzufolge bräuchte ich im Grunde keinen Zähler, würde ich nur einen Ausgang schalten wollen.
    Nun ist es jedoch so, dass bei EINMALIGEM Drücken des Tasters der Ausgang auf High gesetzt wird und so auch verbleibt. Erst bei erneutem Drücken des Tasters wird der Ausgang auf Low-Pegel gesetzt.
    Wie ihr unten seht, habe ich mir den Rat zu Herzen genommen und ein wenig gebastelt. Allerdings bleiben auch hier gesetzte Flags nicht stehen, sondern fluktuieren, wenngleich auch nicht mehr mit der Geschwindigkeit wie bei meinem ersten Programmversuch.
    Bedeutet, dass der zu setzende Zähler noch immer einfach weiter läuft, solange die Bedingung erfüllt wurde, warum auch immer das so ist.

    Wie das jetzt jedoch gehen soll, weiß ich beim besten Willen nicht - das ist so weit von meinen Basics entfernt, dass ich momentan mit diesem kleinen Schritt in die richtige Richtung eher zufrieden bin als mich gefrustet an weitere Versuche zu setzen. Zumindest heute nicht .
    Werde aber definitiv dran bleiben, den Code sprichwörtlich zu "knacken".

    Vorab jedoch eine Frage: Kann ich das Basis-Programm als Solches dafür nutzen oder muss ich ein neues Prog mit einem entsprechend konfigurierten Timer schreiben?
    Timer mögen bei mir immer nicht so ganz. Sobald das Prog ein wenig voller wird, setzen die Timer aus, geraten aus der Phase und die Interrupt-Zeiten spielen komplett verrückt. Da hilft dann alles rechnen nichts mehr.


    Danke sehr für die Hilfe. Wenn ihr noch was wisst - ich freue mich sehr darüber, wenn ihr mir den Weg weist.




    $regfile = "m8def.dat"
    $crystal = 8000000
    $hwstack = 40
    $swstack = 32
    $framesize = 60
    $baud = 9600


    'Konfiguriere Ports
    Config Portb = Output
    Config Portc = Input

    'Portb.3 = 1 'optional
    'Portb.4 = 1 'optional
    'Portb.5 = 1 'optional
    'Portb.0 = 1 'optional

    Portb = &B11111111

    'Umbenennen der Eingänge
    'Taster1 Alias Pinc.0 '### Optional ###
    'Taster2 Alias Pinc.1 '### Optional ###


    'Umbenennen der Ausgänge

    Underwater Alias Portb.1
    Lights Alias Portb.2
    'Kabine Alias Portb.3 '### Optional ###


    'Variablendeklaration
    Dim Channel3 As Byte 'Verdrahtet zu PinC.2
    Dim Count As Byte
    Dim Flag As Bit
    Dim Old_value As Bit
    Dim New_value As Bit




    '_________________________________________________ ______________________________

    ' *************************************
    ' ***** Hauptprogramm *****
    '*******************************************

    Do


    Pulsein Channel3 , Pinc , 2 , 1 'Signallänge an PWM-Eingang stetig abfragen


    If Channel3 < 110 And Old_value = 0 Then New_value = 1
    If Old_value = 1 And Channel3 > 85 Then New_value = 0
    If Channel3 > 200 And Old_value = 1 Then New_value = 0
    If Old_value = 1 And New_value = 0 Then Incr Count
    Old_value = New_value


    Select Case Count
    Case 0 : Lights = 0 : Underwater = 0 : Waitms 300
    Case 1 : Lights = 1 : Waitms 300
    Case 2 : Underwater = 1 : Waitms 300
    Case 3 : Count = 0 : Waitms 300
    End Select



    Loop

    End
    Geändert von stardust19322 (17.08.2016 um 19:59 Uhr)

Ähnliche Themen

  1. [ERLEDIGT] Wartezeit beim Login und Verfügbarkeit der rn-Projekte
    Von Unregistriert im Forum Anregungen/Kritik/Fragen zum Forum und zum Wiki RN-Wissen
    Antworten: 4
    Letzter Beitrag: 12.04.2016, 08:43
  2. Hilfe nach Kurzschluss
    Von TrainMen im Forum Robby RP6
    Antworten: 22
    Letzter Beitrag: 15.04.2014, 12:35
  3. Ich brauche mal (Nach)Hilfe
    Von oderlachs im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 20.02.2013, 09:04
  4. VHDL unerklährliche Wartezeit nach Tastendruck
    Von todo im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 3
    Letzter Beitrag: 24.09.2009, 00:25
  5. Auf der Suche nach dem Richtigen Befehl brauche Hilfe
    Von becki133 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 09.07.2008, 23:07

Berechtigungen

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

LiFePO4 Speicher Test