0

今天我拼命地尝试从我的 python 代码中的 nextiondisplay 读取值。写入它有效,但我根本无法让 python 从中读取。我的代码如下所示:

def ser_escape():
    escape='\xff'.encode('iso-8859-1')
    ser.write(escape)
    ser.write(escape)
    ser.write(escape)    

import serial
import pynextion 

EndCom= "\xff\xff\xff"
ser = serial.Serial(port='COM4',baudrate=9600)
test=b't0.txt="MyText"'
ser.write(test)
ser_escape()
ser.flush
ser_escape()

ser.flush
ser.write(b'get t0.txt')
print (ser.read())
ser_escape()
ser.close()

输出只是:b'\x1a' 这与预期的行为并不接近 - 至少不是来自我。与本文档相关:https ://www.itead.cc/wiki/Nextion_Instruction_Set#get:_Get_variable.2Fconstant_value_with_format 我应该能够用来"get "variable""接收存储在那里的信息。

如果有人能在这里帮助我,我会很高兴。

4

1 回答 1

0

我自己解决了:对于“get Start.currentPage.txt”,您可以插入对所需变量的任何调用,之后我只需从字符串中删除感兴趣的部分以保留,我不需要消息的开头和结尾符号。

import time
from pynextion import PySerialNex

nexSerial=PySerialNex("COM4")

def getActPageName(nexSerial):

    nexSerial.write("get Start.currentPage.txt")
    time.sleep(0.1)
    Var=str(nexSerial.read_all())
    Var=Var[Var.find('p')+1:Var.find('\\')]
    return Var
于 2018-12-03T21:15:44.117 回答