TIJN
Posts: 1
Joined: Mon Jan 07, 2019 10:10 pm

serial read() write() komt niet overeen

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:

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
Met als resultaat:

Code: Select all

!         b'!'
33      b'33'
111    b'o'
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!

Return to “Nederlands”