#fritz#
09.04.2015, 23:05
Folgende Situation:
ein ATMEGA empängt Signale einer IR-Fernbedienung und sendet
diese an den RPI per UART weiter.
RPI Programmierung in Python
Bisher habe ich am RPI eine UART-Abfrage im Sekundentakt durchgeführt.
- Funktioniert einwandfrei -
Ich wollte dann die sekündlichen Sprünge zur UART-Abfrage einsparen. Jetzt sendet
der Atmega ein Signal an den RPI (GPIO) wenn er per UART sendet.
Der RPI fragt daraufhin den UART ab und sendet ok zurück --> Atmega schaltet Signal ab.
Die Programmsprünge im RPI funktionieren, aber Daten werden nicht empfangen.
Ich habe alle möglichen Varianten probiert (Signal vor dem Senden, nach dem Senden
mit unterschiedlichen Pausen, UART Timout verändert ).
Irgendwas scheint nicht zu passen.
Hat jemand eine Idee?
Hier das Programm (die Einrückungen werden hier nicht dargestellt):
#!/usr/bin/python
# -*- config: utf-8 -*-
import serial
import time
import sys
def uart_empfang():
ser = serial.Serial()
ser.port = "/dev/ttyAMA0"
ser.baudrate = 9600
ser.timeout = 3
ser.open()
time.sleep (0.1)
if ser.isOpen():
s = ser.read(6)
#s=ser.read(ser.inWaiting())
#s = ser.readline()
ser.flushInput()
ser.flushOutput()
print "--" + s +"--"
time.sleep(0.1)
ser.write ("ok" + chr(13))
ser.close()
return s
ein ATMEGA empängt Signale einer IR-Fernbedienung und sendet
diese an den RPI per UART weiter.
RPI Programmierung in Python
Bisher habe ich am RPI eine UART-Abfrage im Sekundentakt durchgeführt.
- Funktioniert einwandfrei -
Ich wollte dann die sekündlichen Sprünge zur UART-Abfrage einsparen. Jetzt sendet
der Atmega ein Signal an den RPI (GPIO) wenn er per UART sendet.
Der RPI fragt daraufhin den UART ab und sendet ok zurück --> Atmega schaltet Signal ab.
Die Programmsprünge im RPI funktionieren, aber Daten werden nicht empfangen.
Ich habe alle möglichen Varianten probiert (Signal vor dem Senden, nach dem Senden
mit unterschiedlichen Pausen, UART Timout verändert ).
Irgendwas scheint nicht zu passen.
Hat jemand eine Idee?
Hier das Programm (die Einrückungen werden hier nicht dargestellt):
#!/usr/bin/python
# -*- config: utf-8 -*-
import serial
import time
import sys
def uart_empfang():
ser = serial.Serial()
ser.port = "/dev/ttyAMA0"
ser.baudrate = 9600
ser.timeout = 3
ser.open()
time.sleep (0.1)
if ser.isOpen():
s = ser.read(6)
#s=ser.read(ser.inWaiting())
#s = ser.readline()
ser.flushInput()
ser.flushOutput()
print "--" + s +"--"
time.sleep(0.1)
ser.write ("ok" + chr(13))
ser.close()
return s