Arduino - Serial.readline() funktioniert nur in der Pythonkonsole?!
wenn ich folgenden Code in die Pythonkonsole eingebe, kommt immer wie
erwartet "Hello world" (welches mein Arduino schickt):
import serial
ser = serial.Serial('/dev/ttyACM0', 9600)
while 1 :
ser.readline()
Wenn ich das ganze z.B. in Eclipse mit PyDev ausführe, kommt keine
Ausgabe.
Das Programm startet und zeigt nichts an.
Woran liegt das?
Wie kann man das ändern?
Gruß Tristan
Gast
#3585065
Tristan S. schrieb: > Woran liegt das? Vielleicht wird bei Eclipse der controller nicht resetet, so das du ewig auf dein "Hello World" warten kannst, aber niemals bekommen wirst, weils schon lange vorbei ist. Tristan S. schrieb: > Wie kann man das ändern? Per Python den Controller zu einem Reset zwingen Versuch mal: ser = serial.Serial('/dev/ttyACM0', 9600) ser.setDTR(false) sleep(1) # warte eine Sekunde ser.setDTR(true) sleep(1) # warte eine Sekunde while 1 : ser.readline() Die sleeps sind damit der Bootloader auf dem Arduino durchlaufen kann. Vielleicht musst du die beiden setDTR() auch tauschen, also erst true und dann auf false setzen. Musst du mal ausprobieren. Aber abgesehen davon: Tristan S. schrieb: > import serial > > ser = serial.Serial('/dev/ttyACM0', 9600) > while 1 : > ser.readline() > > Wenn ich das ganze z.B. in Eclipse mit PyDev ausführe, kommt keine > Ausgabe. Jo, du machst da ja auch nirgends eine Ausgabe! Ergo kannst du auch nichts sehen... Grüße
Vielen Dank... Ich habe vor lauter Bäumen den Wald nicht gesehen. XD Natürlich sollte man eine Ausgabe machen um etwas zu sehen.
Gast
#3585119
Wenn du keine Ausgabe gemacht hast, warum hast du in der "Konsole" dann etwas empfangen?
Weiß ich ehrlich gesagt nicht.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.