serial read() write() komt niet overeen
Posted: Mon Jan 07, 2019 10:25 pm
Heren goedenavond,
Ik ben heb in mijn huis allemaal eigen termostaten gemaakt op basis van microchip. Dit werkt allemaal lekker. Nu wil ik alle temperature gegevens in een database en ook dat gaat prima,
Maar waar ik op stuk loop is het verzenden van seriele data. Ik heb voor de gelegenheid de TX en RX met elkaar doorverbonden om zo direct te bekijken wat ik terug krijg:
Met als resultaat:
Die laatste waarde (111 b'o') komt uit ser.read(), terwijl dat eigenlijk 33 / b'!' zou moeten zijn??
wat zie ik over het hoofd?
alvast bedankt!
Ik ben heb in mijn huis allemaal eigen termostaten gemaakt op basis van microchip. Dit werkt allemaal lekker. Nu wil ik alle temperature gegevens in een database en ook dat gaat prima,
Maar waar ik op stuk loop is het verzenden van seriele data. Ik heb voor de gelegenheid de TX en RX met elkaar doorverbonden om zo direct te bekijken wat ik terug krijg:
Code: Select all
import time
import serial
print ("Starting program")
ser = serial.Serial('/dev/ttyAMA0', baudrate=9600)
print(ser.name)
time.sleep(1)
test = 33
testchr = chr(test)
testord = ord(testchr)
testchrenc = str(testchr).encode()
testordenc = str(testord).encode()
print( str(testchr) +" " + str(testchrenc))
print( str(testord) +" " + str(testordenc))
ser.write(testchrenc )
data = ser.read()
print (str(ord(data)) + " " + str(data))
ser.close()
print ("gestopt")
pass
Code: Select all
! b'!'
33 b'33'
111 b'o'
wat zie ik over het hoofd?
alvast bedankt!