Forum: Compiler & IDEs Infrarot senden


von Stefan (Gast)


Lesenswert?

Hallo,

ich habe von meiner Fernbedienung ein IR Sampling gemacht.
(Protokoll leider unbekannt ...)

Nun versuche ich bereits seit Tagen diese wiederzugeben.
Nur mein Timing versagt leider immer.

Hat jemand einen Tipp oder eventuell einen Source um dies zu
realisieren??

Danke!

von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Sorry vergessen, ... anbei mein Testcode ...

thx

von OldBug (Gast)


Lesenswert?

Hi Stefan!

Nach kurzem überfliegen:

while (i--)
  {     // 7 cycles
  }

Vielleicht wird diese Schleife wegoptimiert!?
Um das zu verhindern i "volatile" deklarieren!

Gruß,
Patrick...

von Stefan (Gast)


Lesenswert?

danke patrick ...

werde das mal testen. habe noch ein paar ideen die ich ebenfalls
ausprobieren werde.
bitte dann eventuell um weitere hilfe, falls ichs net hinbekommen
sollte.

Stefan

von Andreas Auer (Gast)


Lesenswert?

Also die while-Schleife wird mit sicherheit wegoptimiert... kannst dir
aber leicht mit "make lss" das ASM File des Compilers erstellen
lassen.
Dann kannst nachprüfen, ob die Schleife noch da ist!

mfg
Andreas

von Jörg Wunsch (Gast)


Lesenswert?

Oder einfach mit "make irs.s".

von Peter D. (peda)


Lesenswert?

Komisch, keiner liest hier andere Beiträge.

Das Thema wurde doch auch schon oft behandelt.

Nochmal:

Nimm "Clear on compare" um den Träger (z.B. 36kHz) zu erzeugen, d.h.
toggle den Pin.
Zähle in dem Interrupt die Anzahl der Pulse mit, um dann auf Pause
(SET) oder Puls (TOGGLE) zu setzen.

Vorteil:
Das Timing ist absolut genau und Compiler unabhängig.


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.