【问题标题】:Python code reading serial inputs on Beaglebone在 Beaglebone 上读取串行输入的 Python 代码
【发布时间】:2016-02-22 01:33:05
【问题描述】:

我正在尝试从我的 Beaglebone 上的盖革计数器读取数据,但是当我打印结果时,不包括我的计数器代码:

import Adafruit_BBIO.UART as UART
import serial
import time
UART.setup("UART4")

ser = serial.Serial(port = "/dev/ttyO4", baudrate=9600)

r = 0
d = 0
z = 0
minutes = 0
while True:
    timeout = time.time() + 60
    while True:
            x = ser.read()
            if ser.isOpen():
                    print "Serial is open!"
                    r = r +1
                    print r
                    print x

            elif x is '0':
                d=d+1
                #print '.'
            elif x is '1':
                d=d+1
                #print '.'

    time.sleep(1)
    z=z+d
    print "CPM %f " % d
    print "total %f" % z
    print "minutes %f" % minutes

我的输出结果如下:

Serial is open!

1

1

Serial is open!

2

1

Serial is open!

3

0

【问题讨论】:

  • 不确定您的问题,但内部循环永远不会终止(除非发生异常)。
  • 清理了格式/语法/标签。

标签: python uart beagleboard


【解决方案1】:

您的内部while 循环中没有break,因此它将无限循环。假设计数器代码表示您的代码示例末尾的 print 语句,它们将永远无法到达。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 2023-01-27
    • 2015-07-18
    相关资源
    最近更新 更多