sysledblink zur Laufzeit zuordnen?

Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

sysledblink zur Laufzeit zuordnen?

 · 
Posted: 23.08.2014 - 19:10  ·  #1
Ich möchte zur Laufzeit einen Pin einen Sysledblink zuordnen, ist das möglich?

Ich habe im Define
SysLEDBlink0 = PortD, 5, low;
stehen.

Nun würde ich gerne das Blinken, dass auf diesen Pin ausgegeben wird, an einen anderen Pin "spiegeln", der soll genau so blinken. Diese Funktion muss aber zur Laufzeit zuschaltbar sein.

Kann ich irgendwie einen weiteren "Sysledblink1" zur Laufzeit anlegen?

Louis
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: sysledblink zur Laufzeit zuordnen?

 · 
Posted: 23.08.2014 - 20:17  ·  #2
Hallo Louis,

SysLeds werden im SysTick Interrupts gesteuert. Um hier die Interrupt Latenz Zeiten
so gering wie möglich zu halten, werden hier fast ausschliesslich Konstante verwendet.
Für diese LEDs eine Var zu verwenden ist damit ausgeschlossen.

Warum nicht einen SysTimer verwenden und in dessen Interrupt eine beliebige Led schalten?

rolf
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: sysledblink zur Laufzeit zuordnen?

 · 
Posted: 24.08.2014 - 11:30  ·  #3
Hi Louis,

nimm ein Und-Gatter (bei LED gegen GND) und leg einen Eingang an den SysLED-Ausgang und den anderen an einen beliebigen Port. An den Ausgang deine zweite LED. Bei Port=high wird deine SysLED gespiegelt.

Gruss
Harry
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: sysledblink zur Laufzeit zuordnen?

 · 
Posted: 24.08.2014 - 12:51  ·  #4
Hardware geht leider nicht, das muss per Software gehen. Ich habe da drei Pins die per Software für verschiedene Zwecke eingestellt werden können, Ausgang, Eingang und einer davon soll die LED, die auf dem Board ist, "nach außen" führen. Wer das Gerät dann einbaut kann so die LED außen an ein Gehäuse anbauen um den Zustand der Elektronik zu sehen. Dazu muss ich eben auf Wunsch das Blinken dieser LED auf diesen Pin schalten können.
Das Blinken muss an der LED und an dem Pin identisch sein. Sollte es zumindest.

Das Gerätchen ist eine Bergungssteuerung / Datenlogger für Modellflugzeuge, es wird in das Modell eingebaut, alles was man dann beim Einschalten hat sind die Piepstöne und die LED um zu sehen/hören in welchem Zustand das Gerät sich befindet. Manche wollen dann die LED nach außen führen um das sehen zu können. Die Blinksignale zeigen einem an ob das System startbereit ist und in welchem Zustand sich das Bergungssystem befindet.
Dazu wollte ich eben eine Möglichkeit schaffen. Da im Modellbereich Platz das wichtigste ist, ist das ganze winzig klein, 60x25 mm ist das ganze nur groß, hat aber sehr viele Funktionen, jede Menge Sensoren, 8MB Flash, 2 Servokanäle, 3 Zündkanäle, Piepser, Uart, I2C, LCD und SPI-Schnittstellen usw. usw.

Evtl. kann ich einfach einen Sysledblink1 auf diesen Pin konfigurieren, den dann bei Bedarf an den selben Stellen wie Sysledblink0 aktivieren, das könnte klappen. Soweit ich das gesehen habe kümmert sich der Treiber nicht um die Einstellung des Ports, dann sollte das so gehen.
Werde berichten...
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: sysledblink zur Laufzeit zuordnen?

 · 
Posted: 24.08.2014 - 14:56  ·  #5
Quote by Lschreyer

Hardware geht leider nicht, das muss per Software gehen. Ich habe da drei Pins die per Software für verschiedene Zwecke eingestellt werden können, Ausgang, Eingang und einer davon soll die LED, die auf dem Board ist, "nach außen" führen. Wer das Gerät dann einbaut kann so die LED außen an ein Gehäuse anbauen um den Zustand der Elektronik zu sehen. Dazu muss ich eben auf Wunsch das Blinken dieser LED auf diesen Pin schalten können.
Das Blinken muss an der LED und an dem Pin identisch sein. Sollte es zumindest.

Das Gerätchen ist eine Bergungssteuerung / Datenlogger für Modellflugzeuge, es wird in das Modell eingebaut, alles was man dann beim Einschalten hat sind die Piepstöne und die LED um zu sehen/hören in welchem Zustand das Gerät sich befindet. Manche wollen dann die LED nach außen führen um das sehen zu können. Die Blinksignale zeigen einem an ob das System startbereit ist und in welchem Zustand sich das Bergungssystem befindet.
Dazu wollte ich eben eine Möglichkeit schaffen. Da im Modellbereich Platz das wichtigste ist, ist das ganze winzig klein, 60x25 mm ist das ganze nur groß, hat aber sehr viele Funktionen, jede Menge Sensoren, 8MB Flash, 2 Servokanäle, 3 Zündkanäle, Piepser, Uart, I2C, LCD und SPI-Schnittstellen usw. usw.

Evtl. kann ich einfach einen Sysledblink1 auf diesen Pin konfigurieren, den dann bei Bedarf an den selben Stellen wie Sysledblink0 aktivieren, das könnte klappen. Soweit ich das gesehen habe kümmert sich der Treiber nicht um die Einstellung des Ports, dann sollte das so gehen.
Werde berichten...



Hallo Lschreyer,

also ich lege nur im Bootloader direkt die SysLedBlink auf einen Hardware-Pin. Ansonsten lege ich diese einfach im RAM und nutze die nach bedarf für verschiedene Funktionen (Steht auch im Handbuch)

Code

//im Define
// SysLed
   SysLEDblink = mSec500; {10..1000 msec}
   SysLedPort = @LEDram, $00; // byte-var, polarity


im Code dann so
Code
  OutByte.4 :=  OUT.QLED_CPUOK; //OUT.QLED_CPUOK;
  OutByte.5 := (IO.IN_RUN and not OUT.QK17) OR (IO.IN_RUN and OUT.QK17 and LEDram.0 ) ;
  OutByte.6 := LEDram.2; //ERROR Meldung
  OutByte.7 := LEDram.3; //COM Meldung


Benutze ich schon seit einigen Jahren, so kann ich das blinken / Takte für mehrere Funktionen nutzen. War das sowas was Du meintest? Oder habe ich das falsch verstanden?

Gruß
Thorsten
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: sysledblink zur Laufzeit zuordnen?

 · 
Posted: 24.08.2014 - 15:32  ·  #6
Super, das ist die Lösung :-)
Danke für den Hinweis, ich hatte das mit dem "SysLedPort = @LEDram, $00;" nicht in Betracht gezogen.
Ich nutze nur das Bit 0, setze dann nach Bedarf die Ausgänge die das Blinkbit zeigen sollen.
Simpel und einfach, so muss es sein.

Louis
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   110   124 · Page-Gen-Time: 0.026275s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI