I used python and C to communicate with my balance, but I can't write CR/LF line ending into it. why?

import serial
bal = serial.Serial("/dev/ttyUSB0",9600,timeout=0)
bal.write('P\r\n')
print bal.readline()

I can get values through cutecom, but why can't I get values through this code?

I am using Linux, why doesn't the program recognize the line ending?

有帮助吗?

解决方案

If you have timeout=0 and do a readline() immediately after sending, the answer is probably not yet received.

Better try timeout=.5 and adjust the value according to your observations.

In this case, it might as well be that the balance doesn't write correct "lines". In these cases try bal.read(100). The timeout will stop as soon as no further characters are coming.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top