Antwort
Bei dem Aardvark-Host-Adapter beträgt die Größe des Pufferspeichers 64 Byte. Somit beträgt die maximale Slave-Antwort ebenfalls 64 Byte. Die Transaktionen können jedoch viel größer sein.
Die Größe der I2C- und SPI-Puffer betragen jeweils 16 kByte, sie können mehrere separate Transaktionen enthalten. Diese Puffer werden nur verwendet, wenn ein Aardvark-API-Aufruf involviert ist. Diese Puffergröße ist in diesem Fall für die Verwendung geeignet, da die Gesamtbeschränkung für asynchrone Nachrichten von der internen Puffergröße des Betriebssystems abhängt. Der Aardvark-Adapter kann Transaktionen von maximal 4 kByte zuverlässig als I2C/SPI-Master oder -Slave senden und empfangen. Dies ist auf Betriebssystemprobleme und auf die Vollduplex-Eigenschaften der SPI-Signalisierung zurückzuführen.
Bei der Konfiguration des Aardvark-Adapters für Master-Schreibvorgänge beträgt die maximale Nachrichtengröße, bei der Verwendung von 7-Bit-Adressierung, 64 kByte (65535) und bei der Verwendung von 10-Bit-Adressierung 64 kByte (65534). Dies stellt die maximale Datengröße einer Transaktion dar, wenn die Datengröße größer sein sollte, müssen mehrere separate Transaktionen erfolgen.
Weitere Informationen finden Sie in dem Artikel 7-Bit-, 8-Bit- und 10-Bit-I2C-Slave-Adressierung.
Beachten Sie bitte, dass die Anzahl der Bytes, die im API-Aufruf aa_i2c_write geschrieben werden können, 65535 beträgt.