PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVISARO WLAN verschluckt at kommandos



aphex-world
22.09.2008, 19:10
Hallo,
Für die Fernsteuerung meines Robos nutz ichn Avisaro Wlan modul. Zur Steuerung sende ich einfache Ascii codes übers terminal was mit ner echten seriellen verbindung auch klappt, Nur übers Wlan passiert nach dem 1 Kommando,welches noch verarbeitet wird gar nichts mehr.

Wordran kann das liegen?

Gruß Michael

aphex-world
23.09.2008, 16:05
Hab mir nochmal alles genau angeschaut Baudraten alles stimmt genau überein..

Ceos
23.09.2008, 19:02
zu dem modul kann ich mal rein garnichts sagen, aber kannst du mal versuchen ob du ne schleife machen kannst, also TX leitung vom PC an modul 1 (sender) und RX an modul 2 (den empfänger)

wenn du dann alles was du tippst, auch im terminal wiedergegeben wird, liegts vll. am programm (das timing im programm kann gut und gerne durch blockweises schreiben des moduls durcheinandergebracht werden) ... eventuell im code ne fehlerausgabe einbauen, die bei kommunikations fehlern um hilfe ruft

aphex-world
23.09.2008, 19:19
Ich hab hab ja nur 1 modul, auf der anderen seite läuft ein virtueller com port.

hier mal das programm:

$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600


Enable Interrupts

Dim A As Byte


Config Pinc.6 = Output 'Linker Motor Kanal 1
Config Pinc.7 = Output 'Linker Motor Kanal 2
Config Pind.4 = Output 'Linker Motor PWM
Config Pinb.0 = Output 'Rechter Motor Kanal 1
Config Pinb.1 = Output 'Rechter Motor Kanal 2
Config Pind.5 = Output 'Rechter Motor PWM

Config Pina.0 = Output 'LenkServo kalibrieren
Config Servos = 1 , Servo1 = Porta.0 , Reload = 10 'LenkServo anzahl 4
Servo(1) = 115 'LenkServo mittig ausrichten

Do
A = Inkey()
If A > 0 Then
Select Case A
Case 56 'Das ist der ASCII Code für Taste "8"
Sound Portd.7 , 400 , 450
Print "Schnell vorwärts"
Portc.6 = 1 'bestimmt Richtung
Portc.7 = 0 'bestimmt Richtung
Portd.4 = 1 'Linker Motor EIN

Case 50 'Das ist der ASCII Code für Taste "2"
Sound Portd.7 , 400 , 650
Print "Schnell rückwärts"
Portc.6 = 0 'bestimmt Richtung
Portc.7 = 1 'bestimmt Richtung
Portd.4 = 1 'Linker Motor EIN

Case 53 'Das ist der ASCII Code für Taste "5"
Sound Portd.7 , 400 , 550
Print "Motor abbremsen"
Portd.4 = 0 'Linker Motor aus

Case 52 'Das ist der ASCII Code für Taste "4"
Sound Portd.7 , 400 , 750
Print "Links lenken"
Servo(1) = 90

Case 54 'das Ist Der Ascii Code Für Taste "6"
Sound Portd.7 , 400 , 850
Print "Rechts lenken"
Servo(1) = 200

Case 51 'das Ist Der Ascii Code Für Taste "3"
Sound Portd.7 , 400 , 950
Print "Gerade aus"
Servo(1) = 115

Case 48 'das Ist Der Ascii Code Für Taste "0"
Sound Portd.7 , 400 , 350
Print "Lüftung an"
Portb.0 = 1 'bestimmt Richtung rechter Motor
Portb.1 = 0 'bestimmt Richtung rechter Motor
Portd.5 = 1 'rechter Motor EIN
Case 49 'das Ist Der Ascii Code Für Taste "1"
Sound Portd.7 , 400 , 350
Print "Lüftung aus"
Portb.0 = 0 'bestimmt Richtung rechter Motor
Portb.1 = 1 'bestimmt Richtung rechter Motor
Portd.5 = 0 'rechter Motor EIN

Case Else
Print "Kommando nicht bekannt"
End Select
End If
Loop

Ceos
23.09.2008, 19:24
ach nur ein modul, dann wirds ungemein einfacher, schliesse die RX und TX am µC kurz (überbrücken, iss ja kein echter kurzschluss) dann müsste selbst an deinem virtuellen comport dasselbe ankommen was du hingeschickt hast! wenn nicht stimmt irgendwo unterwegs was nicht, wenn doch stimmt im programm was nicht

wie gesagt hatte ja keine ahung wie das wlan modul arbeitet ^^

aphex-world
23.09.2008, 19:47
gerade ist mir noch aufgefallen das nach nem start direkt 4 mal: "Kommando nicht bekannt" kommt im Programm hab ich ja,
Case Else
Print "Kommando nicht bekannt"

Das modul sendet irgend ein Mist über die serielle Leitung raus auch wenn ich rx/tx verbinde erhalte ich im terminal Spielkarten/Smilies/Herzen usw..^^ was ist da los?

Ceos
23.09.2008, 19:54
vll. schwankungen bei der stromversorgung die dann zu zufälligen symbolen interpretiert werden, bascom müsst ich mich erst reinlesen ums zu verstehn :p

vll. steht in der anleitung was, vll. isses nen errorcode oder sowas ascii zeichen wir herzchen stehen mesit für zahlenwerte unter 30, kann da leider auch nicht mehr dazu sagen

EDIT: ich weis ja nicht wie deine kenntnisse in anwendungsprogrammen und der verwendung des comport so sind, aber du könntest dir ja n kleines proggi schreiben was dir die ankommende bytes in hex als dezimalwert und zeichen ausgibt .... wenn du glück hast find ich mein protokollprügel iwo auf der externen platte wieder ^^ da kannste eingaben in jeglicher form lesen (hex, dez, ascii) und eine antwort simulieren (bytefolge eingeben und senden) so hab ich das protokoll meines Casio GTR rausgefunden

pongi
24.09.2008, 08:23
Das schaut sehr verdächtig nach falscher Baudrate o.ä aus.

Andere Möglichkeit: das Modul erwartet keine ASCII zeichen. Obwohl wenns mit AT-Kommandos läuft, sollte das schon so sein...

aphex-world
26.09.2008, 17:13
hi, problem ist gelöst liegt an der Spannung die absolut nicht stabil ist... werd die Tage bei reichelt n Festspannungsregler usw bestellen..

Danke für die mühe:)