Wb-mqtt-serial templates: различия между версиями

Строка 429: Строка 429:


Сдвиг регистров (число, которое нужно добавить к базовому номеру регистра) вычисляется по формуле: <pre>Shift = (((SlaveId.Secondary - 1) % 4) + 1) * DeviceConfig()->Stride + DeviceConfig()->Shift;</pre>
Сдвиг регистров (число, которое нужно добавить к базовому номеру регистра) вычисляется по формуле: <pre>Shift = (((SlaveId.Secondary - 1) % 4) + 1) * DeviceConfig()->Stride + DeviceConfig()->Shift;</pre>
Каждое подключенное устройство имеет порядковый номер (SlaveId.Secondary), начинающийся с 1 для первого устройства.
Каждое подключенное устройство имеет порядковый номер (SlaveId.Secondary), начинающийся с 1 для первого устройства. (Здесь знаком "%" обозначается деление по модулю.)


Например, подставляя значения shift и stride в формулу, получаем: <pre>Shift = ((( 1 - 1) % 4) + 1) * 500 + 1000 = (0 + 1) * 500 + 1000 = 1500</pre> То есть ко всем регистрам, указанным в шаблоне, надо добавить 1500.
Например, подставляя значения shift и stride в формулу, получаем: <pre>Shift = ((( 1 - 1) % 4) + 1) * 500 + 1000 = (0 + 1) * 500 + 1000 = 1500</pre> То есть ко всем регистрам, указанным в шаблоне, надо добавить 1500.