*murmel* Ich versteh' deine Definition nicht so ganz:
1 ... eesingle.....eeword(1)....eebyte(1)............ overlay adresse
2.... eesingle.....eeword(1)....eebyte(2)
3.... eesingle.....eeword(2)....eebyte(3)
4.....eesingle.....eeword(2)....eebyte(4)
5........................................eebyte(5)
6........................................eebyte(6)
7.....eebanz
8.....eeaddr1
9.....eeaddr2
Beim write-ee zerschmetterst du ja zwei bytes vom single
Eebyte(1) = High(ee_adresse)
Eebyte(2) = Low(ee_adresse)
Vorschlag, wenn ich richtig interpretiere, was du wohl meinst :
Code:
Dim Eehead(2) As Byte
Dim Eedata(4) As Byte
Dim Eesingle As Single At Eedata Overlay
Dim Eeword(2) As Word At Eedata Overlay
Write_ee:
Eebanz = Eebanz + 2
Eehead(1) = High(ee_adresse)
Eehead(2) = Low(ee_adresse)
I2csend 24c64w , Eehead(1) , Eebanz
return
Read_ee:
Eehead(1) = High(ee_adresse)
Eehead(2) = Low(ee_adresse)
I2csend 24c64w , Eehead(1) , 2
Waitms 5
I2creceive 24c64r , Eedata(1) , 0 , Eebanz
Waitms 25
return
Versuch' mal !
Lesezeichen