我创建了第一个连接到arduino的模块,其序列模块如此name=clockK('/dev/ttyACM0','9600')
,并使用命令name.send('4')
将数据发送到arduino。
但是当我向arduino发送数据时,它不会使用之前创建的“名称”。 这是我的clockK.py代码:
import datetime
import time
import serial
import os,sys,string
class clockK:
def __init__(self, device, baund):
try:
self.device = device
self.baund = baund
self.naame=serial.Serial(device,baund).write('0')
except:
raise SerialNotResponding("Serial " + self.device + " is not responding!")
def send(self, what):
try:
self.naame.write(what)
return "Sent!: " + what
except:
raise ErrorSend("Can't send!")
def who(self):
return "You are communicating with: " + self.device + " at " + self.baund
class SerialNotResponding(Exception):
pass
class ErrorSend(Exception):
pass
所以我的问题是如何在def send中“记住”来自 init 的序列定义?
该模块的示例程序:
from clockK import *
a=clockK('device','speed')
a.send('1')
答案 0 :(得分:0)
在 init 中打开此端口
self.ser = serial.Serial()
self.ser.baundrate = baund
self.ser.open()
并发送此类数据
self.ser.write(what)