Ale - działa i to dobrze, więc na razie to zostawiam.
Patrzyłem na te zapisy i odczyty z FRAM i nie rozumiem, dlaczego skoro mam ustawiony FRAM_offset na 40, zapisy są wykonywane pod innymi adresami:
Code: Select all
Channel(5) value changed to 42 - 0x2A // nowa wartość licznika
Send: [53 55 50 4C 41 15 98 00 00 00 67 00 00 00 0E 00 00 00 05 00 00 00 00 00 2A 00 00 00 00 00 00 00 ]
Send: [53 55 50 4C 41 ]
xWrote 8 bytes to storage at 55 // 0x37
xWrote 7 bytes to storage at 48 // 0x30
Zrzut z monitora portu:
0x20: 0xBE 0x00 0x00 0x00 0x00 0xBE 0x00 0x00 0x53 0x55 0x50 0x4C 0x41 0x01 0x00 0x01
0x30: 0x03 0x08 0x00 0xC2 0x6C 0xC2 0x6C 0x2A 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
pierwszy xWrote zapisuje 8 bajtów od adresu 55 (0x37), w tym nową wartość licznika (tu: 0x2A=42) i dodatkowe 7 bajtów, w sumie 8
drugi xWrote zapisuje wcześniej 7 bajtów od adresu 48.
A pod mój zadeklarowany offset 40 nic się nie zapisuje...
