Seite 1 von 1

Boolche funktion als Port bit

Verfasst: Donnerstag 16. Oktober 2008, 19:47
von sea-live
ich hab folgendes das ich in portbit schalt funktion umwandeln möchte
damit das mit pyparallel läuft

bei send hab ich es hinbekommen von _send nach send umgeschrieben
aber bei read setz mein logiches denkvermögen aus

wie müsste die funktion read aussehen _read ist das original
an dieser self.bus.read scheiterts

Code: Alles auswählen

    def send(self,value):
        x=0x80
        while x:
            sda=(x & value) and 1
            if sda == 1 :
                self.p.setData(1)# sda=1, scl=0
                self.p.setData(0)# sda=1, scl=1
                self.p.setData(1)# sda=1, scl=0
            else:
                self.p.setData(3)#sda=0, scl=0
                self.p.setData(2)# sda=0, scl=1
                self.p.setData(3)#sda=0, scl=0
            x=x>>1
   # hier komm ich nicht dahinter 
   def read(self):
        x=0x80
        value=0
        while x:
            self.p.setData(0)# sda=1, scl=1
            if self.bus.read():
                value+=x  
            self.p.setData(1)# sda=1, scl=0
            x=x>>1
        return(value) 
so der original quelltext lautet

Code: Alles auswählen

    def _send(self, value):
        x=0x80
        while x:
            self.bus.write( sda=((x & value) and 1), scl=0 )
            self.bus.write( sda=((x & value) and 1), scl=1 )
            self.bus.write( sda=((x & value) and 1), scl=0 )
            x=x>>1

    def _read(self):
        x=0x80
        value=0
        while x:
            self.bus.write( sda=1, scl=1 )
            if self.bus.read():
                value+=x  
            self.bus.write( sda=1, scl=0 )
            x=x>>1
        return(value)