Forum: Mikrocontroller und Digitale Elektronik R/C Empfängersignal mit BASCOM lesen ?


von RalfG (Gast)


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

von leo9 (Gast)


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

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.