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
Lesezeichen