Hallo -
ich möchte Zeichen aus der seriellen Schnittstelle lesen, aber ohne
Wartezeit, wenn der Empfangsbuffer leer ist.
Sollte eigentlich mittels INKEY() ein Klacks sein...
(Mit ISCHARWAITING() übrigens dasselbe in Grün...)
Der untenstehende Code funktioniert - aber nicht, wenn die beiden
auskommentierten Zeilen aktiv sind....
Nach 3 Stunden Kopfkratzen sehe ich den Wald vor lauter Bäumen nicht
mehr ... fürchte ich ...
Vielen Dank schon mal im voraus für einen hilfreichen Tipp...
LG
Peter
1 | $regfile = "m16def.dat"
|
2 | $crystal = 16000000
|
3 |
|
4 | Dim Rxbuffer As String * 255 ' Empfangsbuffer
|
5 | Dim Txbuffer As String * 255 ' Sendebuffer
|
6 | Dim I As Byte
|
7 |
|
8 | Txbuffer = ""
|
9 | Rxbuffer = ""
|
10 |
|
11 | Ucsrb = 1 ' enable Hardware-UART
|
12 |
|
13 | Open "comd.1:115200,8,n,1" For Output As #1
|
14 | Config Serialin = Buffered , Size = 25
|
15 | Open "comd.0:115200,8,n,1" For Input As #2
|
16 |
|
17 | Do
|
18 | Mainloop:
|
19 | I = Inkey()
|
20 | 'If I > 0 Then
|
21 | Input #2 , Rxbuffer
|
22 | Print #1 , Rxbuffer
|
23 | 'End If
|
24 | Loop
|