我编写了一个python脚本,该脚本从串行端口读取数据。该脚本在Windows机器上运行。在串行链接的另一侧,有一个连接了摄像头的微控制器。拍照后,微控制器将其保存在闪存中,并且每当python脚本发送对该图片的请求时,它将字符串形式的所有数据发送到串行端口,然后脚本解析该数据并逐行读取数据并保存在一个文件中,然后将其转换为二进制图像文件。每当我在Pycharm中运行此脚本时,它总是可以正常工作而不会丢失任何数据,但是当我为此脚本创建了批处理文件时。当我有时运行批处理文件时,从串行端口读取数据时会丢失一些数据,从而导致映像文件损坏。从串行端口读取的数据格式如下:
20044478:00 00 00 00 00 00 00 00 00 E0 01 80 02 3F 00 32
20044488:12 0B 51 04 51 04 00 00 FF DB 00 84 00 10 0B 0C
20044498:0E 0C 0A 10 0E 0D 0E 12 11 10 13 18 27 1A 18 16
200444A8:16 18 30 22 24 1D 27 39 32 3C 3B 38 32 37 36 3F
200444B8:47 5B 4D 3F 43 56 44 36 37 4F 6B 50 56 5E 60 65
200444C8:66 65 3D 4C 6F 77 6E 62 76 5B 63 65 61 01 11 12
200444D8:12 18 15 18 2E 1A 1A 2E 61 41 37 41 61 61 61 61
200444E8:61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61] >>
我认为与此问题相关的部分代码是:
def wait_On_serial_camera_capture():
global ser
out_file = open('test.txt', 'w+')
line_read = ser.readline()
# # time.sleep(0.1)
if line_read == "":
print ("Error in image capturing or problem in transferring image file to the PC !")
while line_read != "":
line_read = ser.readline()
# # time.sleep(0.1)
# # print (line_read)
sys.stdout.write(line_read)
sys.stdout.flush()
out_file.write(line_read)
out_file.close()
ser.close()
我编写了一个python脚本,该脚本从串行端口读取数据。该脚本在Windows机器上运行。在串行链接的另一侧,有一个连接了摄像头的微控制器。 ...
检查您的环境。