PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Funkmodul - Daten kommen invertiert - wie "richtigdrehe



m@rkus33
18.02.2006, 16:36
Hallo,

ich brauch mal wieder Starthilfe.

Ich übertrage mit Funkmodulen RS232 Daten. Beim Empfangsmodul habe ich die Daten aber invertiert anliegen.

Wie "drehe" ich die Daten in Bascom wieder um? Habe schon so alles durchgesucht finde aber nichts.

Bitte um Eure Hilfe.

Danke

molleonair
19.02.2006, 13:25
ich kenn mich zwar nicht so gut aus mit dem ganzen

aber vieleicht gehts ja mit toggle

dim a as byte
toggle a.0
toggle a.1
...
toggle a.7


als externe lösung geht auch 7404 ( 4 fach inverter)

super_castle
19.02.2006, 16:37
du überträgst die daten verkehrt .. das ist dein fehler...he...

m@rkus33
19.02.2006, 16:46
übertrage verkehrt?...haha

bei printbin kann man ja nix verkehrt machen.

Und Manchester gibt es im ersten Step nicht.

Am Empfangsmodul habe ich am NF- Ausgang (1Vss, 2,5Khz Frequenzhub nominal, NF-Bereich 0 - 5 Khz) in der Beschreibung "INVERTIERT" stehen!!!

Am NF hängt ein LM358, macht schöne Pulsrückgewinnung.

Aber "invertiert" bedeutet doch das eine logische "0" eine "1" ist und andersrum, oder?

Wenn ja muss ich die doch irgendwie wieder drehen können(müssen).

drylemon
22.02.2006, 08:30
Also, ich weiß nicht... aber ich jeder Programmiersprache gibt es doch sowas wie a= not a. Also müßtest du einfach nur das Bit-Komplement auf deine empfangenen bytes anwenden.
In c++ wäre das a=~a;

In GW-Basic:

NOT X



NOT manipuliert die Bits derart, daß im Ergebnis ein gesetztes Bit gelöscht und ein gelöschtes Bit gesetzt wird.

(1->0 0->1)

Allerdings muß man da aufpassen, da es in manchen sprachen auch eine unterscheidung zwischen logischem und bit-basierten not operationen gibt.

chr-mt
22.02.2006, 09:59
Hi,
a=NOT a
geht auch in Bascom
Oder einfach noch einen Transistor hinter den LM hängen ;)


Gruß
Christopher

hrei
22.02.2006, 10:13
Hallo,



Oder einfach noch einen Transistor hinter den LM hängen ;)


Bei der Nutzung des Hardware UART geht nur diese Methode, da die Software zunächst keinen Zugriff auf die auflaufenden Signale hat und invertierte Start- und Stopbits für Mist beim Empfang sorgen.

Bei Software COMx: kann man INVERTED angeben (siehe Bascom Hilfe).

Grüße
Henrik

m@rkus33
22.02.2006, 17:48
hallo @ all

danke für die vielen Antworten. Der Hinweis mit dem Transistor ist klasse ;). Ich verwende die Hardware UART und eine einfache Transistorschaltung ist das einfachste.

Ich werde es mit Hardware ausprobieren.

Gruß
Markus