Python代码读取Beaglebone上的串行输入

时间:2016-02-22 01:33:06

标签: python uart beagleboard

我正试图在我的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

1 个答案:

答案 0 :(得分:0)

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