Hallo
Beim RP6 dient das Steuersignal RTS der seriellen Schnittstelle als "Resetleitung" für den Mega32. Deshalb muss an der Schnittstelle RTS gesetzt werden.
https://www.roboternetz.de/community...-PC-ansprechen
Gruß
mic
Hallo
Beim RP6 dient das Steuersignal RTS der seriellen Schnittstelle als "Resetleitung" für den Mega32. Deshalb muss an der Schnittstelle RTS gesetzt werden.
https://www.roboternetz.de/community...-PC-ansprechen
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Danke für deine Antwort. Hab jetzt ein bisschen rumprobiert und dann auch in der PySerial API nachgelesen, wie man dieses RTS aktiviert. Das funktioniert mit dem Befehl: rtscts – Enable hardware (RTS/CTS) flow control. Hab das dann mal reingeschrieben:
Leider hab ich aber immernoch das gleiche Problem, wie vorher.Code:import serial # Das ist diese PySerial Library ser = serial.Serial(7, rtscts=1) # Öffnet COM8 print ser.portstr # Das echot, dass es mit COM8 verbunden ist ser.write("G") # Sendet ein "G" ser.close() # schließt den PORT
Hallo
Es geht hier nicht um die Flusskontrolle beim Senden der Zeichen. Diese muss immer ausgeschaltet sein. Vielmehr geht es um ein andauerndes Setzen der Steuerleitung:
(Aus der oben erwähnten API)Code:setRTS(level=True)¶ Parameters: * level – Set control line to logic level. Set RTS line to specified logic level.
Ob True oder False kann ich nicht sicher sagen, ich tippe auf True. Aber ich vermute, ein kleiner Test bringt dich schnell weiter.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Funktioniert damit auch nicht
Grrr! Zeig doch mal, wie du es jetzt eingebaut hast. rtscts=1 muss natürlich wieder raus. Wo und wie werden die anderen Schnittstellenparameter eingestellt: 38400 Baud, 8 Datenbits, 1 Stopbit, keine Parityprüfung und keine Flusskontrolle
Geändert von radbruch (15.01.2012 um 22:59 Uhr)
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Also mit diesem ZOC Terminal funktioniert das ganze, bloß mit Python wieder nicht.
Code:import serial ser = serial.Serial('/dev/ttyUSB0', 38400, parity = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, bytesize = serial.EIGHTBITS, xonxoff = 0, rtscts = 0, dsrdtr = 0) ser.setRTS(0) ser.close()
Entschuldigung, aber ich habe das Terminal-Zeugs wieder rauseditiert, weil es mit dem Robotloader ja funktioniert, denn sonst könntest du nicht flashen. Es muss mit irgendetwas in deinem Setup für die Schnittstelle in Python zusammenhängen. Blöderweise kenne ich Pythen aber gar nicht.
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Lesezeichen