- LiFePO4 Speicher Test         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 48

Thema: Tips & Tricks

  1. #11
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Anzeige

    E-Bike
    Hallo!

    Man kann Tasten auch ohne unnötigen Zeitverlust und Verzögerungsschleife abfragen (testen). Im Code habe ich ein PAD dafür skizziert. Bei dieser Methode geschieht aber nichts, wenn die Taste gedrückt gehalten wird, da der PIC unendlich aufs Loslassen wartet. Deswegen eignet sie sich nicht für alle Programme.

    Der PIC prüft eine Taste und wenn sie nicht gedrückt ist, geht er sofort weiter/zurück. Wenn sie gedrückt wird, geht er in die endlose Schleife und wartet, bis sie los gelassen wird. Erst dann macht er was, z.B. erhöht ein Zähler usw.

    Die Art der Tastenentprellung habe ich mehr praktisch als theoretisch entdeckt. Erst danach habe ich nachgedacht und festgestellt, dass es menschliche "Verzögerungsschleife" ab drücken bis zum Loslassen der Taste ausnutzt.

    Ich habe es aus dem Tread entnommen und modifiziert:
    https://www.roboternetz.de/phpBB2/ze...ght=entprellen


    MfG
    Code:
                      V
              Taste gedrückt ? N > weiter bzw."return"
                      J
                      V
                      |
                      |
                      |
         .----------->V
         |   Taste losgelassen ? J >.
         |            N             |
         |            V             |
         `------------´             |
                                    V
                              Zähler erhöhen
                                   usw.
                                    V
                          weiter bzw."return"
       J = ja
       N = nein

  2. #12
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo!

    Um sich schreiben von vielen unnötigen Zeichen im Quellcode für MASM zu ersparen, dürfen alle Hexzahlen, die mit dezimalen Ziffern (0 bis 9) anfangen ohne führenden 0x geschrieben werden.

    Einige Beispiele: 2, 1D, 0A, 3F, 4B, 5D, 68, 7C, 8E, 95, usw.

    Die Hexzahlen die mit Buchstaben (A bis F) anfangen müssen leider immer mit führenden 0x geschrieben werden.

    Einige Beispiele: 0xA0, 0xBF, 0xC5, 0xDB, 0xE7, 0xFA, usw.

    MfG

  3. #13
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo!

    Wenn die zwei Pins, die zum Programmieren des PICs benötigt sind (PGC und PGD) frei sind oder an sie normal geöfnete Kontakte (z.B. Taster) angeschlossen sind und der VPP Pin eine Diode zwischen VCC und VPP hat, dann kann man den PIC ohne extra ICSP Anschlusses in einer fertiger Schaltung programmieren.

    Dazu habe ich mir ein ICSP Anschlussadapter (siehe Foto) mit mini Klemprüfspitzen von Conrad gebaut, der dank dem DIP Schalter beim Arbeiten des PICs dran hängen darf. Das kann man auch bei SO PIC Typen im SMD Gehäuse verwenden. Der Adapter wird einfach an Kabel vom Brenner angeschlossen.

    Seit dem werden ich in meinen Projekten, wenn möglich, diese zwei Pins entweder frei oder nur mit normal geöffneten Taster und ich kann jeden PIC ohne ICSP Anschluss umprogrammieren.

    MfG
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken icsp.jpg  

  4. #14
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Zitat Zitat von PICture
    Man kann Tasten auch ohne unnötigen Zeitverlust und Verzögerungsschleife abfragen (testen). [...]
    Wie soll das von dir Skizzierte PAD funktionieren? Die Abfolge ein/aus/ein/aus solltest du auch bei einem prellenden Taster bekommen.
    Oder verstehe ich da etwas grundlegend falsch?

    mfG
    Markus

  5. #15
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo markusj!

    Sorry, aber ich verstehe leider Deine Frage nicht ganz.

    Mein PAD sollte das Programmablauf bei Tastenentprellung zeigen, selbstverständlich für prellende Tasten.

    MfG

  6. #16
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Und ich verstehe nicht, wie ein Programm, welches sich an deinem PAD orientiert eine Tastenentprellung durchführen können soll.
    Wenn du mit dem oben angegebenen Algorithmus auf den Eingangspin losgehst, bekommst du imho alles aber bestimmt keine Entprellung. Sobald der Eingangspin auf High geht, wartest du so lange bis er wieder Low geht und führst dann die asoziierte Aktion aus. Wenn die Taste prellt, rauscht du aber genauso durch dein PAD und führst im ungünstigsten Fall die Aktion mehrfach aus.

    Oder sehe ich ein wichtiges Element nur nicht?

    mfG
    Markus

  7. #17
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.09.2006
    Ort
    Hamburg
    Alter
    42
    Beiträge
    1.013
    @PICture nette ideh muss ich mir mal merken da ich auf meinen smd schaltungen selten nen icsp drauf mache und vorsichtzalber ne diode geht ja noch kostet ja net viel

    Ich hab dafür immer vorsichtshalber sonen smd lötjumper aber des ist auch immer ne frikkelei
    Legastheniker on Bord !

  8. #18
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo!

    @ theborg

    Genauer gesagt sollte die VPP Pin (evtl. ohne Taster), so wie dort beschrieben:

    https://www.roboternetz.de/wissen/in...undbeschaltung

    beschaltet werden, dann funktioniert es immer.

    Übrigens, das habe ich bisher nur mit PICs, die mit +5 V versorgt waren, ausprobiert. Wenn der PIC bei niedrigerer eigener Versorgungsspannung sich nicht programmieren lässt, müsste man die +5 V Spannung z.B. vom Brennen dem PIC zuführen. Bei einiger Schaltungen, die +5V beschädigen könnte, darf man das natürlich nicht machen.

    @ markusj

    Nicht alles auf der Welt kann und muß man verstehen.

    Das habe ich mehrmals selber ausprobiert und es hat immer funktioniert. Die Schleifen können bei jedem Tastendruck mehrmals durchlaufen, aber das ist doch nicht wichtig. Geht es bei dir nicht?

    MfG

  9. #19
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Ich hab es noch nicht ausprobiert, das Problem ist meiner Ansicht nach aber: Wenn du die Schleifen bei einem Tastendruck mehrfach durchläufst, wird die eigentlich zu entprellende Aktion mehrfach ausgeführt, außer sie dauert länger wie das Prellen anhält.

    mfg
    Markus

  10. #20
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Bei der ersten Schleife ist es praktisch unmöglich, dass ein Mensch die Taste innerhalb von ein paar ms, also vorm Ende des Prellens, loslassen könnte. In dieser Zeit kann sich die erste Schleife wiederholen. Hier wird die natürliche menschliche Trägheit ausgenutzt.

    Wenn der PIC sich schon in der zweiten Schleife befindet und auf das Loslassen der Taste wartet, nach dem ersten Unterbrechen der Taste wird er schon die Schleife verlassen egal ob die Taste noch weiter prellt. Er hat eben keine Möglichkeit in die erste Schleife zurückspringen.

    Hoffentlich ist es jetzt schon klar.

    MfG

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress