PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom Gegenteil von PRINT = INPUT?



Neokortex
21.05.2009, 19:12
Wie man unschwer an der Anzahl meiner Beiträge erkennen kann bin ich dabei mit meinem neuen RN-Control zu spielen und versuche die angeschlossene RS232 nicht nur zur Ausgabe zu nutzen sondern auch als Eingabekanal.

Ich habe den UART-Input Artikel gefunden (https://www.roboternetz.de/wissen/index.php/Bascom_UART_Input ) werde aber irgendwie nicht recht schlau drauss, ob es mir weiterhlft.

Ich suche nach einer (einfachen?) Möglichkeit am RN-Controller per RS232 im laufenden Betrieb sowohl per Print Daten auszugeben als auch (z.B. Steuerungskommandos) zu empfangen. Das ganze sollte recht flexibel sein - die prints und inputs kommen unregelmässig.

Hat jemand einen Tip wo ich Informationen dazu finde oder kann mir sagen wie es geht?

Jon
21.05.2009, 19:42
Hi, ganz einfach, wenn man weiß, wie^^

Anfangs einfügen:


On Urxc Onrxd 'Interrupt Empfange String von RXD
Enable Urxc 'Einschalten
Enable Interrupts 'Zulassen

Dim Instring as String * <Länge>

Für <Länge> musst du einen Integer-Wert eintragen, der angibt, wie lange der String ist, der empfangen werden soll.
Der Input befehl wartet, bis der String voll ist! Also nicht zu groß stellen!

Und dann später, eher am Ende des Programms:


Onrxd:
Input Instring Noecho
Return


Nun steht in InString, was du mit dem PC gesendet hast.

Viele Grüße,
jon

Neokortex
26.05.2009, 11:43
Besten Dank für den Hinweis. Allerdings spuckt mir Bascom einen Error (85) aus und ich bin noch nicht wirklich "drin" in der Programmierung in der Sprache.

Enable Urxc hat "Unknown interrupt source [COUNT<>3]"

Brauch ich irgendwelche Includefiles oder muss ich vorher noch irgendetwas deklarieren?

Erstaunlicherweise bekomme ich die Fehlermeldung auch wenn ich den fertigen Source 'serint.bas' lade und kompilieren will.
Stimmen meine Settings evt nicht?

Oder ist es gar ein Bascom Bug? Wenn ich die Version 1.11.9.2 verwende, kann ich den Source ohne Probleme kompilieren, aber dank des Bootloaders nicht mehr auf das RN-Board schieben (Error 6006) durch vermutlich einen anderen Bug?!?

Ich werd das Gefühl nicht los, dass ich den Bootloader zerschossen habe?!?!?!

Weiss jemand mehr?