Hi all,I'm new to python and facing issue using serial in python.I'm facing the 
below error 
    ser.write(port,command)NameError: global name 'ser' is not defined
Please find the attached script and let me know whats wrong in my script and 
also how can i read data from serial port for the  same script.

Best Regards,Chandan.
import time
import os
import serial
import glob


ER_Address = [[0x0A,0x01,0x08,0x99,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB]]
"""
----------------------------------------------------------------------------------------------------------------------------
Function Name: RunSequence
----------------------------------------------------------------------------------------------------------------------------
Function Description:
---------------------
A RunSequence function has Multiple calls to the RunSuite function, each call 
is a single testcase consisting of all the parameters
required by the RunTesSuite.
-----------------------------------------------------------------------------------------------------------------------------
"""
def WriteSerialData(command):    
    ser.write(port,command)
                             
def SendPacket(Packet):    
    str = chr(len(Packet)) + Packet #Concatenation of Packet with the 
PacketLength
    print str
    WriteSerialData(str)


def CreateFrame(Edata):
        evt = chr(0x12)
        evt = evt + chr(Edata[0])
        for i in range (1, len(Edata)):            
            evt = evt + chr(Edata[i])
        return evt
    
def SetRequest(data):
    print data
    new = []
    new = sum(data, [])
    Addr = CreateFrame(new)    
    SendPacket(Addr)
    print "SendPacket Done"
    ReadPacket()

    
def OpenPort(COMPort,BAUDRATE):
    """
    This function reads the serial port and writes it.
    """
    comport=COMPort
    BaudRate=BAUDRATE
    try:
        ser = serial.Serial(
            port=comport,
            baudrate=BaudRate,
            bytesize=serial.EIGHTBITS,
            parity=serial.PARITY_NONE,
            stopbits=serial.STOPBITS_ONE,
            timeout=10,
            xonxoff=0,
            rtscts=0,
            dsrdtr=0
            )
            
        if ser.isOpen():            
            print "Port Opened"
            ser.write("Chandan")
            string1 = ser.read(8)
            print string1                       
            return ser
        else:
            print "Port CLosed"
            ser.close()
            return 3
    except serial.serialutil.SerialException:
        print "Exception"
        ser.close()
   
     




if __name__ == "__main__":
    
    CurrDir=os.getcwd()
    files = glob.glob('./*pyc')
    for f in files:
        os.remove(f)        
    OpenPort(26,9600)
    SetRequest(ER_Address)
    #SysAPI.SetRequest('ER',ER_Address)    

    print "Test Scripts Execution complete"    
    




-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to