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
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.
Wenn du keine Ausgabe gemacht hast, warum hast du in der "Konsole" dann etwas empfangen?
Weiß ich ehrlich gesagt nicht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.