>Du kannst es mit einer nichtblockierenden Abfrage von 'stdin' lösen.
Danke, das scheint sehr gut zu funktionieren. Ich habe es mal in die
Routine mit dem Zähler verpackt:
1 | import sys, select
|
2 | import utime as time
|
3 |
|
4 | spoll = select.poll()
|
5 |
|
6 | spoll.register(sys.stdin, select.POLLIN)
|
7 |
|
8 | counter=0
|
9 |
|
10 | while True:
|
11 | if spoll.poll(0): # Zeichen im Eingangspuffer von stdin?
|
12 | c = sys.stdin.read(1) # Zeichen abholen
|
13 | print("input: "+c) # Zeichen verarbeiten/ausgeben
|
14 | time.sleep(0.1)
|
15 | print(counter)
|
16 | counter=counter+1
|
Wenn man es in der "Thonny" Umgebung debugged, muss man erst mal "Enter"
drücken. Danach werden immer erst alle Zeichen im Tastaturbuffer
gesammel und bei Enter erst übertragen. Das scheint aber eine
Eigenschaft von "Thonny" zu sein.
Wenn man es mit minicom benutzt
funktioniert es perfekt.