Parallelport Speed
Verfasst: Donnerstag 16. Oktober 2008, 16:46
Guten Tag ich machte aus meinem Parallelport via Python eine i2c
klappt auch wunderbar
nur der Speed mein Atmel 4mhz braucht zum kompletten beschreiben
eines i2C EEprom 24C16 mit zufall generierung aller speicherstellen 0,8sec
der PC für das gleiche via WX Gui und pyparallel 20 SEKUNDEN
mehr wie die datenpins wechseln kann ich ja nicht
warum braucht der so lange
klappt auch wunderbar
nur der Speed mein Atmel 4mhz braucht zum kompletten beschreiben
eines i2C EEprom 24C16 mit zufall generierung aller speicherstellen 0,8sec
der PC für das gleiche via WX Gui und pyparallel 20 SEKUNDEN
mehr wie die datenpins wechseln kann ich ja nicht
warum braucht der so lange
Code: Alles auswählen
# D0 = (0=scl) 1=NotSCL
# D1 = 0=sda 1 = notSDA
# sda=1, scl=1 =setData(0)
# sda=1, scl=0 =setData(1)
# sda=0, scl=1 =setData(2)
# sda=0, scl=0 =setData(3)
def start(self):
self.p.setData(0)# sda=1, scl=1
self.p.setData(2)# sda=0, scl=1
self.p.setData(3)#( sda=0, scl=0
def stop(self):
self.p.setData(3)#( sda=0, scl=0
self.p.setData(2)# sda=0, scl=1
self.p.setData(0)# sda=1, scl=1
def ack(self):
self.p.setData(1)# sda=1, scl=0
self.p.setData(0)# sda=1, scl=1
time.sleep(0.01)
self.p.setData(1)# sda=1, scl=0
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
def writeRegister(self,address, register, value,):
self.start()
self.send(address)
self.ack()
self.send(register)
self.ack()
self.send(value)
self.ack()
self.stop()
def writePage(self,adresse,register,daten):
self.start()
self.send(adresse)
self.ack()
self.send(register)
self.ack()
for i in daten:
self.send(i)
self.ack()
self.stop()