Boolche funktion als Port bit

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Donnerstag 16. Oktober 2008, 19:47

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) 
Antworten