目前我正在尝试了解控制软件如何通过串口与调制解调器/ DCE通信。为此,我在Python中使用PySerial。我成功地被动地听取了两者的通信,并且在执行多个单个动作时确实有一个软件发送的字节串列表(例如b'\x1d\x10\xff'
)。
要完全理解命令结构和我想要的响应,请使用试错法并使用我自己的PC模仿控制软件,只需扩展我的“只听”&#39 ; -script通过发送命令并随后监听响应。现在我将这些命令定义为函数,例如:
def Testcommand1():
if serial.isOpen() == True:
serial.write(b'\x1d\x10\xff')
print('Testcommand1 to do some specific stuff sent, awaiting response.')
else:
print('ERROR: Serial port is closed')
最后,我将有20到30个不同的命令。我计划在不同的文件中定义它们并从那里调用它们。据我所知,为了调用它们,我需要单独导入每个函数,比如
from commandfile import Testcommand1()
from commandfile import Testcommand2()
from commandfile import Testcommand3()
...
这就是我开始怀疑我的方法的原因(因为在我开始实际的' listen' -program之前我会有20到30行):这是真的吗最好的方法?或者是否有def function()
更细长更聪明的东西来定义我要发送的命令?
答案 0 :(得分:0)
from commandfile import Testcommand1()
无效。
from commandfile import Testcommand1
会。
你也可以将它们全部导入
from commandfile import *