Hallo, ich habe die oben angeführte Kombination auf einer Platine
verbunden und versuche nun schon länger mittels eines RS485-USB Adapters
mit dem PC zu kommunizieren.
Mein Programmcode ist auf das minimalste reduziert:
1 | $regfile = "m32def.dat" 'verwendeter Prozessor
|
2 | $crystal = 14745600 'eingebauter Oszillator
|
3 | $hwstack = 100 ' default use 32 for the hardware stack
|
4 | $swstack = 100 ' default use 10 for the SW stack
|
5 | $framesize = 100 'default Use 40 For The Frame Space
|
6 | '---------------------------------------------------------
|
7 | $baud = 9600
|
8 | Dim A As Byte
|
9 |
|
10 | Do
|
11 |
|
12 | A = Ischarwaiting()
|
13 |
|
14 | If A = 1 Then 'we got something
|
15 |
|
16 | A = Waitkey() 'get it
|
17 |
|
18 | Print "ASCII code " ; A
|
19 | End If
|
20 |
|
21 | Loop Until A = 27
|
22 |
|
23 | End 'end program
|
Das "normale" print funktioniert immer zu 100% einwandfrei,
sobald ich jedoch versuche vom PC aus etwas zu übertragen und es
zurückzusenden kommt nur Unfug dabei heraus.
Wenn noch nichts gesendet wird, ist der Bus ruhig (Speicheroszi dran).
Auch wenn ich 1 Zeichen vom PC aus sende ist der Bus danach ruhig.
Gebe ich das aber automatisch retour schein ein übersprechen von TX nach
RX zu geschehen.
Der Bus ist ordentlich terminiert und die Spannungspegel entsprechen dem
erwarteten.
Ein Kurzschluss Rx-Tx am µC ist auch nicht vorhanden.
Der Beispielcode ist aus der Bascomhilfe und sollte funktionieren.
Andere selbstgeschrieben codes machen das selbe.
Für einen Tip wäre ich sehr dankbar.
Gruß Anselm
Hier das von Hterm reportete lange nachdem der PC nichtmehr sendet.
1 | ASCII code 55<\r><\n>
|
2 | ASCII code 57<\r><\n>
|
3 | ASCII code 55<\r><\n>
|
4 | ASCII code 53<\r><\n>
|
5 | ASCII code 55<\r><\n>
|
6 | ASCII code 53<\r><\n>
|
7 | ASCII code 51<\r><\n>
|
8 | ASCII code 53<\r><\n>
|
9 | ASCII code 51<\r><\n>
|