bei denen ein Port z.B. sowohl eine LED treiben als auch (zeitversetzt !) einen Schalter lesen soll. Dann gilt das Gesagte zum expliziten H-setzen.
Und das wollte ich ja nicht


So, ich habe jetzt mal mit dem 24C16 einen kleinen Datenlogger für LDR Messwerte gebaut.
Das Aufnehmen der Messwerte klappt auch schon, doch kann ich sie weder abspielen, noch, wenn ich den Conroller wieder einschalte neu beschreiben. Also ich kann es nur einmal beschreiben. Danach wird irgendwie der Controller dumm (beim wiederanschalten gibt es keinen Summerklang mehr und ich bekomme nichts mehr auf der seriellen Schnittstelle angezeigt )

Woran liegt es ??

Code:
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
$hwstack = 200
$swstack = 200
$framesize = 400

Config Portd.7 = Output

Config Pind.6 = Input
Pind.6 = 1

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Waitms 10

'TWI konfigurieren
Config Sda = Portc.1
Config Scl = Portc.0
Config Twi = 100000

Dim X As Byte
Dim A As Byte
Dim B As Byte
Dim Lesen As Byte

Dim W As Word

Sound Portd.7 , 400 , 450
Sound Portd.7 , 400 , 250
Sound Portd.7 , 400 , 450
Wait 2


If Pind.6 = 0 Then                                          'Taster für Moduswahl

'---- schreibe in EEprom ----
For A = 1 To 10

W = Getadc(6)                                               'Messwert
Print W
X = W / 4                                                   'damit der Speicher reicht
Print "Durch 4 geteilt: " ; X
Print
Print
Waitms 200

I2cstart                                                    'Start I2C
I2cwbyte &HA0                                               'Sende Slave Adresse
I2cwbyte A                                                  'Sende Speicheradresse
I2cwbyte X                                                  'Sende Wert
I2cstop                                                     'Stop I2C
Waitms 10                                                   'warte 10ms

Print "ins EEprom = " ; X ; "  "                            ' Ausgabe der geschriebenen Werte
Waitms 500
Next A

Sound Portd.7 , 400 , 450                                   'damit ich weiß, wann er fertig ist
Waitms 40
Sound Portd.7 , 400 , 450



Else

'--- lesen vom EEprom ----
For B = 1 To 10

I2cstart                                                    'Start I2C
I2cwbyte &HA0                                               'sende Slave Adresse
I2cwbyte B                                                  'sende Speicheradresse

I2cstart                                                    'Start I2C
I2cwbyte &HA1                                               'sende Slave Adresse +1 für Lesen
I2crbyte Lesen , Nack                                       'lese Adresse vom EEprom
I2cstop                                                     'Stop I2C

Print "Lese  EEprom= " ; Lesen ; "  "                       'Ausgabe der EEprom Werte
Waitms 500
Next B

End If

End