R/C Empfängersignal mit BASCOM lesen ?

Gast #73436
Lesenswert?

Hallo Leute,

ich möchte mit BASCOM ein Program schreiben, mit dem ich ein
Empfängersignal von einer Modellfernsteuerung einlesen und
anschliessend für Schaltzwecke(Beleuchtung, Sonderfunktionen)
weiterverarbeiten kann.
Wie man Servos ansteuert, weiss ich, aber wie ich ein Signal einlesen
soll, ist mir ein Rätsel. Ich habe schon die Suchfunktion benutzt, da
gibt es schon Beiträge, aber ich finde nichts für BASCOM sondern nur in
C oder Assembler.
Hat evtl. jemand eine Einleseroutine schon mal geschrieben und würde
mir weiterhelfen ?

Gruß Ralf
Gast #73437
Lesenswert?

kommt drauf an was du an resourcen freihast, ein Timer und ext. Int
brauchst du für eine einfache Lösung.
1) Timer so konfigurieren dass er bei ca. 2,5 ms überläuft.
2) ext. Int auf steigende Flanke
3) idlen oder sonstwas machen
folgende Interrupt-Routinen brauchst du noch
1) ext. int:
if (steigende Flanke)
  Timer = 0
  enable timer overflow interrupt
  config ext. int auf fallende Flanke
else
  Servowert = Timer
  flag setzen dass neuer Wert
  disable timer int.
  config ext. int auf steigende Flanke
reti
2) timer overflow:
  (Impuls ist zu lang und daher ungültig)
  disable timer int.
  config ext. int auf steigende Flanke
reti

im Hauptprogramm prüfst du das Flag, wenn gesetzt Kontrolle ob Zeit zw.
1 und 2ms und du hast den übertragenen Impuls, eventuell noch
Mittelwertbildung über die letzten empfangenen Werte

Obiger pseudo code sollte sich recht einfach in Bascom portieren
lassen.

grüsse leo9

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren