我正在使用 Python 2.5.4 和 Windows 7。
我正在尝试创建一个使用 pygame 从微控制器传输和接收信息的程序。当微控制器仅将数据写入 pygame 时,此代码工作正常,但是当该行包含在接收信息的微控制器代码(readline)中时,pygame 窗口冻结(不只是关闭窗口,所以我可以看到问题出在哪里)。我想知道是否有人在微控制器和 pygame/pyserial 相互交谈和倾听方面有任何经验?
我读过一篇可能类似的帖子,但我不理解代码,也不确定是否是同一个问题。我在这些论坛上阅读了“流量控制”一词,我想知道这是否是我的问题?
我的代码是:
import os, pygame, math, serial
from pygame.locals import *
from pygame.compat import geterror
from time import clock, time
pygame.init()
w = 1100 #sets pygame screen width
h = 642 #sets pygame screen height
screen = pygame.display.set_mode((w, h),0,32) #make and display screen
pygame.display.flip() #Update screen
running = 1
font = pygame.font.Font(None, 36)
clock = pygame.time.Clock()
port = serial.Serial("COM2", 115200)
while running: #Loop this
for event in pygame.event.get(): #get user input
if event.type == pygame.QUIT: #if user clicks the close X
running = 0 #make running 0 to break out of loop
temp = float(port.readline())
clock.tick(100)
value = font.render(str(temp), 1, (100, 100, 100))
screen.blit(value, (280,165))
pygame.display.flip() #Update screen
port.write('3')