我想从Arduino读取数据并使用pyserial通过串口存储在pc中的文本文件中,每当我尝试执行Python代码时它会给出这个消息我尝试过很多东西但是没有用完。
代码:
import io
import serial
from datetime import datetime
from serial import SerialException
connected=False
outfile='C:\Users\Yassine\hello.txt'
ser = serial.Serial(port="COM12", baudrate=9600,timeout=None,bytesize=serial.EIGHTBITS,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE)
sio = io.TextIOWrapper(io.BufferedRWPair(ser, ser, 1), encoding='ascii', newline ='\r')
with open(outfile,'a') as f:
while ser.isOpen():
try:
datastring=ser.readline()
except serial.SerialException:
pass
print datastring
print datetime.now()
f.write(datetime.now().isoformat() +'\t'+ datastring +'\n' )
f.flush()
while not ser.isOpen():
pass
ser.close()
答案 0 :(得分:1)
通过查看设备管理器来检查COM12实际上是否是Arduino。 或者,您可以在命令行中执行此操作以获取可用串行端口列表:
<div class="row" ng-class="angular.element($document).hasClass('navigation-row') ? 'secondary-navbar-padding' : ''">
您可能还有其他尝试访问Arduino串口的内容。确保Arduino IDE中的串行监视器已关闭。
答案 1 :(得分:0)
我想打开txt文件读取它的最后一个值&amp;把它写在其他txt文件中,它正在工作,但是写入下一个文件的读取值(arg)会跳转到对我不好的行我希望它与其他变量在同一行
with open(outfile,'a') as f:
with open (inputfile,'r') as f1:
arg =f1.readline() // that variable i read from the txt
print (arg )
f.write(datetime.now().strftime("%Y-%m-%d ; %H:%M:%S")+'\n'+valueRead+ '\n' +arg+ '\n') // the file i write to
f.flush()
f1.close()
f.close()
TTTs(这是我从txt文件中读取的arg变量,这是我得到的)
2017-05-12; 15:48:23 TTS(这就是我想要的)
感谢帮助人