-
        

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 24 von 24

Thema: XC8 inline Assembler

  1. #21
    RN-Premium User Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    47
    Beiträge
    498
    Blog-Einträge
    17
    Anzeige

    Zitat Zitat von Klebwax Beitrag anzeigen
    Jetzt könnte man noch die Lbraryfunktion
    NOP();
    Oder etwas lesbarer _delay(1); statt NOP(); bzw. _delay(3); statt NOP();NOP();NOP();

  2. #22
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    577
    Hallo nochmal, kurzer Endbericht:

    die Assembler nops habe ich durch "NOP()" ersetzt und das funktioniert erwartungsgemäß einwandfrei.

    Mit den Delay wäre etwas problematisch, da ein NOP in meinem Falle bei 32MHz Clock 125ns entspricht.
    die delay funktion ist in Millisekunden.
    es soll wohl delay_ms und delay_us geben, die meckert er mich an, da fehlt wohl eine Bibliothek.

    Aber nichts desto trotz, es laufen grad 50 LEDs einwandfrei, aber das hatte auch noch etwas gedauert, denn

    man sollte während des Ausschiebens der Daten alle Interrrupts sperren, sonst hat man Randomize Rainbow

    Zudem waren ab LED 21 die Farben falsch. Zuerst dachte ich an ein Speicherproblem, aber das war es nicht.
    Da war doch tatsächlich die 21te LED auf dem Band defekt. Zum Glück hatte ich noch einzelne und habe sie ausgetauscht.
    Nun leuchten alle 50 wie sie sollen.
    Bei voller Ansteuerung in weiss kommt schon so einiges an Strom zusammen.
    Das sind dann 20mA * 3 Leds = 60mA * 50 Leds = 3,05 Ampere.

    Achja, noch was: Bei kurzzeitiger Unterbrechung der Versorgungsspannung, gehen die LED zwar aus, es bleiben aber die Daten in den 50 LEDs erhalten.
    So 3 bis 5 Sekunden habe ich ausprobiert, ohne dass ich erenut Daten reinschieben muss.
    Geändert von Siro (24.02.2018 um 16:12 Uhr)

  3. #23
    RN-Premium User Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    47
    Beiträge
    498
    Blog-Einträge
    17
    Zitat Zitat von Siro Beitrag anzeigen
    die delay funktion ist in Millisekunden.
    Nö. In Millisekunden ist die _delay_ms(), die _delay() ist in Prozessortakten, _delay(1); ersetzt also ein NOP(); und _delay(3); ersetzt NOP();NOP();NOP();
    Die Unterstriche sind dabei wichtig. delay() kennt der XC8 nicht, _delay() schon.
    Ich finde halt eine Zahl lesbarer als eine NOP-Kette. Ist aber letztendlich wurscht.

    - - - Aktualisiert - - -

    Zitat Zitat von Siro Beitrag anzeigen
    Nun leuchten alle 50 wie sie sollen.
    Nun warten wir auf ein Foto oder Video
    Glückwunsch

  4. #24
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    577
    Das mit den delay muss ich mir nochmal anschauen.
    Danke für die Info Witkatz:

    Das mit dem Video macht sich garnicht gut, man erkennt nicht annähernd die schönen Farben, das sieht immer weiss aus...
    Ich hab es aber mal im Dunkeln gefilmt, nicht schön, besser wie nix.

    https://www.dropbox.com/s/mr6gkga5mxkh98k/RGB.MOV?dl=0


    hier noch die komplexe1 Schaltung:
    Klicke auf die Grafik für eine größere Ansicht

Name:	PIC12F1840.jpg
Hits:	4
Größe:	78,0 KB
ID:	33302
    rot Plus
    blau Minus
    grün Datenleitung zu den Leds2


    Siro
    Geändert von Siro (24.02.2018 um 19:27 Uhr)

Seite 3 von 3 ErsteErste 123

Ähnliche Themen

  1. Bascom Inline-Assembler
    Von Che Guevara im Forum Assembler-Programmierung
    Antworten: 64
    Letzter Beitrag: 07.02.2012, 19:00
  2. Inline Assembler
    Von Che Guevara im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 16
    Letzter Beitrag: 01.02.2010, 19:25
  3. AVR GCC inline Assembler
    Von chientech im Forum Assembler-Programmierung
    Antworten: 1
    Letzter Beitrag: 26.09.2009, 16:39
  4. Inline Assembler für Anfänger
    Von 1udo1 im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 25.10.2007, 19:53
  5. Parameterübergabe bei Inline-Assembler
    Von ogni42 im Forum C - Programmierung (GCC u.a.)
    Antworten: 21
    Letzter Beitrag: 30.03.2006, 13:32

Berechtigungen

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