• python入门示例程序


    该实例是raspi和dsp电机运动控制板的串口uart通信:

    import
    serial class SerialHandler(): ''' raspi serial for communication ''' def __init__(self)://初始化一些默认参数,其它非初始化参数在方法中作为参数传入 self.serialdev = None//给参数赋初始值 def serial_open(self,serialdev,timeout)://用户可传入的参数,其它参数(如baudrae、bytesize...)使用默认值 try: self.serialdev = serial.Serial(serialdev,baudrate=9600,bytesize=8,parity='N',stopbits=1,timeout=None,xonxoff=False,rtscts=False,dsrdtr=False) except: self.serialdev = None #print ('Open /dev/ttyAMA0 fail!') print ('Open %s fail!' %(serialdev))//print的用法 def serial_close(self): if type(self.serialdev) != type(None): self.serialdev.close() self.serialdev = None return True return False def serial_write(self,txdata): self.len_txdata = len(txdata)//后面方法serial_read要使用该变量,所以在变量前面加self if type(self.serialdev) != type(None): #txdata_list = list[txdata] encodetxdata=txdata.encode('ascii')//只在本方法中使用的变量,其前可以不加self,如果该类的其它方法要用到这个变量,则其前加self try: //发送前进行编码unicode码转换为ascii码 #self.serialdev.write(txdata_list[:]) self.serialdev.write(encodetxdata) except: print ('send txdata fail!') self.serial_close() return False return False def serial_read(self): if type(self.serialdev) != type(None): try: #self.len_txdata = len(txdata) rxdata=self.serialdev.read(self.len_txdata)//使用前面serial_write的变量 decoderxdata = rxdata.decode()//接收后显示前解码,把scii码解码为Unicode码                return decoderxdata except: print ('receive txdata fail!') self.serial_close() return None return None if __name__ == '__main__'://单元测试 test = SerialHandler()//将类实例化为test,之后实例test使用类SerialHandler的方法 test.serial_open('/dev/ttyAMA0',timeout=1) test.serial_write('abc234de') printrxdata = test.serial_read() print('the receive data is %s' %(printrxdata)) test.serial_close()
  • 相关阅读:
    node错误: primordials is not defined
    单片机TTL转RS232模块DB9数据线接口排针接口多接口方便连接
    单片机串口自适应电平5V TTL电平兼容转换3.3V电平串口转换NMOS管
    USB串口转RS485转换器工业级usb串口转RS485模块转换器串口通讯
    Kafka丢数据、重复消费、顺序消费的问题
    纪念第一次做的拉花拿铁
    《奢侈的理由》总结
    【算法框架套路】回溯算法(暴力穷举的艺术)
    svg中矩形旋转问题
    性能测试工具集锦
  • 原文地址:https://www.cnblogs.com/cj2014/p/3830033.html
Copyright © 2020-2023  润新知