【问题标题】:Serial readline method in python 3.xpython 3.x中的串行readline方法
【发布时间】:2017-06-20 10:33:44
【问题描述】:

pySerial write() won't take my string

在那篇文章中,编码人员解释了如何使用

ser.write()

方法。

我还在想如何使用

readline()

python3.x 中的方法,因为我想接收一个浮点数,并在我的 python 3.x 代码中进行比较。我知道如何在 python 2.7 中使用 readline() 。但我无法让它在 3.x 中工作。

import serial
import time

ser=serial.Serial('/dev/ttyACM0', 9600)
while 1:
    ans = ser.readline()
    print(ans)
    if ans > 25.50:
        print('its getting hot in  here')
    else:
        print('Everything is fine')

提前致谢

【问题讨论】:

    标签: python arduino sensors pyserial


    【解决方案1】:

    我首先想到的是ans 将是readline() 之后的字符串变量。如果不进行一些转换,就无法将字符串与浮点变量进行比较。所以:

    if ans > 25.50:
    

    将不起作用,因为ans 是一个字符串。相反,您需要类似:

    float_ans = float(ans)
    if float_ans > 25.50:
    # etc...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2020-09-15
      • 2020-02-14
      相关资源
      最近更新 更多