Python记得来自另一个def的串行连接

时间:2016-03-26 00:28:45

标签: python arduino serial-port

我创建了第一个连接到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')

1 个答案:

答案 0 :(得分:0)

init 中打开此端口

self.ser = serial.Serial()
self.ser.baundrate = baund
self.ser.open()

并发送此类数据

self.ser.write(what)