Hallo Leute,
ich muss ein Array mit 6144 Config-daten in mein I2c Device schreiben. Dazu benutze ich die Funktion _pMaster^.write
Ich habe mir hierzu eine Funktion geschrieben:
METHOD checkwriteregister : INT VAR_INPUT usiRegister:USINT; pbyBuffer:POINTER TO BYTE; nBufferLen:UDINT; END_VAR VAR byteswrite:DINT; END_VAR IF _pMaster^.write(usiRegister, pbyBuffer, nBufferLen) <> UDINT_TO_DINT(nBufferLen) AND NOT debugSlave THEN //write not suchsseccfull goError(ReadWrite := TRUE); checkwriteregister := ERROR_RET_VAL; ELSE checkwriteregister := READ_SUCCSESSFULL; END_IF
Aufrufen tue ich die Funktion wie folgt:
Case _devicestatus OF ... 50: IF checkwriteregister(16#5E, ADR(bma456_config),6144) < 0 THEN RETURN; ELSE _devicestatus:=60; END_IF 60:
Leider werden die Daten aus irgendeinem Grund nicht geschrieben und ich komme nicht in den Schritt 60:
Kann jemand helfen?
Gruß
Andre
Hallo zusammen,
ich konnte das Problem lösen und der Sensor läuft jetzt. Ich erreiche zwar nur eine Samplingrate von 250Hz, aber immerhin.
Grüße
Doppelpost
Log in to post a comment.
Hallo Leute,
ich muss ein Array mit 6144 Config-daten in mein I2c Device schreiben.
Dazu benutze ich die Funktion _pMaster^.write
Ich habe mir hierzu eine Funktion geschrieben:
Aufrufen tue ich die Funktion wie folgt:
Leider werden die Daten aus irgendeinem Grund nicht geschrieben und ich komme nicht in den Schritt 60:
Kann jemand helfen?
Gruß
Andre
Hallo zusammen,
ich konnte das Problem lösen und der Sensor läuft jetzt.
Ich erreiche zwar nur eine Samplingrate von 250Hz, aber immerhin.
Grüße
Doppelpost
Last edit: andrax 2022-08-24