Hallo Zusammen,
ich habe ein Problem in Bascom.
Und zwar soll ein PC Terminal Befehle an einen Mega8 schicken, und dann von diesem aus über SoftUART an einen Mega32.
Die Verbindung zwischen PC & Mega8 funktioniert.
Allerdings funktioniert das SoftUART zum Mega32 nicht richtig.
Hier das Programm des Mega8:
Und hier das des Mega32:Code:'//////////Ports Konfigurieren\\\\\\\\\\ Config Serialin = Buffered , Size = 40 'RS232 per Interrupt buffern Config Serialout = Buffered , Size = 40 Open "COMC.3:9600,8,n,1" For Output As #1 'Txd zum M32 Enable Interrupts '//////////Aliasnamen <Start>\\\\\\\\\\ Dim Serinput As Byte Dim Command As String * 24 Dim Items As Byte Dim Arr(2) As String * 10 '//////////Hauptprogramm <Start>\\\\\\\\\\ Do Gosub Communicate 'Bluetooth PC Kommunikation Loop Communicate: If Ischarwaiting() = 1 Then Serinput = Inkey() 'Ein Zeichen holen While Serinput > 0 ' Solange noch Zeichen in der Warteschleife sind If Serinput = 13 Then ' Zeile ende Items = Split(command , Arr(1) , " ") If Command = "move forward" Then Print "forward" Print #1 , "forward" Print #1 , 13 End If If Command = "move stop" Then Print "stop" Print #1 , "stop" Print #1 , 13 End If Command = "" ' Neu initialisieren Else Command = Command + Chr(serinput) End If Serinput = Inkey() Wend End If Return Close #1 End
Es wird nur der 1. Befehl ausgeführt.Code:Do If Ischarwaiting() = 1 Then Serinput = Inkey() 'Ein Zeichen holen While Serinput > 0 ' Solange noch Zeichen in der Warteschleife sind If Serinput = 13 Then ' Zeile ende 'Commands Abfragen If Command = "forward" Then Speed_left = 200 End If If Command = "stop" Then Speed_left = 1 End If Command = "" ' Neu initialisieren Else Command = Command + Chr(serinput) End If Serinput = Inkey() Wend End If Loop
Also wenn ich am PC forward printe spring der Motor am M32 an.
Wenn ich dann stop printe passiert aber nichts mehr.
ABER: Wenn ich den M32 direkt mit dem PC verbinde geht es.
Es muss also am SoftUART liegen, ich weiß nur überhaupt nicht warum das net geht, bzw nur einmal.
SEROUT hab ich auch schon probiert.
Ich hoffe das Problem ist noch relativ übersichtlich.
Gruß
Lenox







Zitieren

Lesezeichen