@Blood: wen du die Slave Lib vin MCS verwendest must du nichts von registern verstehen... verstehe auch nix davon![]()
bei aktivitäten auf dem I2C bus werden einfach die entsprechenden ISR Rutinen aufgerufen...
hier mal ein kleiner code wie ich es gemacht habe um 2 bytes im slave zu empfangen... ich hoffe man versteht es...
Code:'die variable empfangen wird auf 2 bytes definiert wenn mehrere bytes empfangen werden sollen muss diese entsprechend erhöt werden... Dim Empfangen(2) As Byte Dim Index As Byte 'Hier wird die adresse für den Slave gesetzt Config Twislave = &H70 , Btr = 1 , Bitrate = 100000 Enable Interrupts Do nop Loop End Twi_stop_rstart_received: 'Master hat Stop oder restard gesendet Return Twi_addressed_goread: 'wir wurden adressiert und master will daten lesen Return Twi_addressed_gowrite: 'wir wurden vom master adressiert und der master will bytes senden 'variable index auf 0 setzen Index = 0 Return Twi_gotdata: Incr Index 'Index wird bei jedem empfangenen byte erhöt empfangen(1) enthält das erste byte empfangen(2) das zweite byte Empfangen(index) = Twi 'twi enthält das momentan empfangene byte Return Twi_master_needs_byte: Return Twi_master_need_nomore_byte: Return






Zitieren

Lesezeichen