PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zu RS232



fiatx
06.10.2009, 19:09
Hallo

Ich wollte für mein Modellbau eine Funkübertragung bauen, diese soll Daten vom Modell auslesen und dann zu meiner Fernsteuerung senden.

So ich bin noch anfänger was Miceocontroller betrifft.

Ich habe schon überall gesucht aber ich finde keine beispiel Code oder erklärung für Folgendes Problem.

Ich wollte vom Pc einen befehl zu einem Microkontroller senden und der soll daraufhin mir zb. die Akkuspannung zurücksenden. (Pc so als erstes Testprojekt bevor es an so sachen wie Funk usw geht)

Ziel soll es sein dass ein Microkontroller an meiner Fernsteuerung die verschiedenen Daten abfrägt und auf einem Display wiedergibt.

Ein zweiter kleiner Microkontroller am Modell soll die Daten ermittel und auf abfrage senden.

Habe mir soweit schon fast alles angesehen und auch zum laufen gebracht mir ist nur nicht klar wie ich Daten über Funk bzw. über Kabel vom Pc abrufen kann.

MFG Sven

Bammel
06.10.2009, 21:11
Hallo namensfeter, ;-)

senden tust du mit

Print "Hallo Welt."

oder

Print Variable

empfangen kannst du mit dem inkey() befehl dieser wartet dann solange bis daten ankommen.
es gibt aber noch eine "elegantere" variante bei der nicht die ganze zeit gewartet wird sondern bei eintreffen von daten eine isr angeprungen wird. aber den code habe ich nicht im kopf aber erst vorhin hier iwo im forum gesehen.

bei funk hast du es mit den easy radio modulen am einfachsten die kannst du genauso nutzen wie ein kabel. müssen nur einmal konfiguriert werden dies ist aber total leicht und funktioniert auch über rs232

mfg bammel

peterfido
07.10.2009, 21:25
du meinst waitkey wartet. inkey liest den angekommenen aus.

If Ischarwaiting() = 1 Then
Gosub Empfangen

End If


Empfangen:



B = Inkey()
return

peterfido
07.10.2009, 21:29
...sorry, doppelt...

TobiasBlome
08.10.2009, 14:48
Also klar senden mit Print

Empfang mache ich immer so:


'Für RS232:
On Urxc Onrxd 'Interrupt-Routine setzen
Enable Urxc 'Interrupt URXC einschalten
Enable Interrupts 'Interrupts global zulassen

DO
CLS
LCD E_byte
LOOP


Onrxd:
E_byte = Udr 'E_byte ist meine Variable wo alles drin steht, was empfangen wurde
Return

viel Erfolg,
Tobias

fiatx
08.10.2009, 18:38
Hallo

leider mit ferspätung.

So ich probier dass ganze mal denke aber jetzt habe ich das auch verstanden.


Grus Sven