Hi Picnick,

jetzt bin ich doch noch über ein Rätsel gefallen:

* wenn ich von einem Slave einige Byte abholen möchte müssen diese ja dann im Slave irgendwie bereit gestellt werden.
Code:
   Twi_mst_addr = Mn2_adr                                   'I2C adresse ZIEL
   Twi_mt_cntr = 8                                          '  8 Byte senden
   Twi_mt_data = Varptr(twi_mst_buff(1))                    ' Daten
=> hier schicke ich dem Slave 8 byte... verstanden

Code:
   Twi_mr_cntr = 3                                          ' dann 3 Byte empfangen
   Twi_mr_data = Varptr(twi_mst_buff(1))                    ' empfangsbuffer
   Gosub Run_wait_master                                    ' noch eine SUB
=> hier hole ich mir 3 byte, wie muss nun im Slave der Code aussehen, um 3 bestimmte Bytes zu holen?
Bzw. ich habe 3 Singles hintereinander und dann noch mal 3 Bytes die abgeholt werden sollen, wie und wo im Slave muss ich diese anordnen/bereitstellen?

Vielleicht hab ich es schon gefunden?!

=> Twi_st_data = Varptr(twi_slv_buff(1)) 'datenbuffer senden

die Daten, welche abgeholt werden sollen, stehen im twi_slv_buff(1)?

Wenn ja, müsste ich es so machen?
Code:
Dim Temp1 As Single
Dim Temp2 As Single
Dim Temp3 As Single
Dim Byte1 As Byte
Dim Byte2 As Byte
Dim Byte3 As Byte

Twi_slv_addr = Mn1_adr                      'lokale I2C-Adresse
Twi_sr_data = Varptr(twi_slv_buff(1))   'datenbuffer empfang
Twi_st_data = Varptr(Temp1)   'datenbuffer senden
Danke und Gruß
MAT