SSerge, именно из-за разных форматов я хочу передавать отдельной процедуре-обработчику не char[255], а struct{} modbusFunc3Request. дабы в обработчике не ломать голову с индексами и случайно не затереть что не надо.
Остановился на варианте описания всех полей в структуре (без "пустот"), часть из них const.
Примерно так будет.
Код
typedef struct{
const uint8_t addr;
const uint8_t func;
const mbReg16_t first;
const mbReg16_t count;
} mbFunc3Rqs_t;
typedef struct{
const uint8_t addr;
const uint8_t func;
const uint8_t size;
mbReg16_t reg[(MB_FRAME_MAX - 6) / 2];
}mbFunc3Rsp_t;
#pragma inline=forced
mbError_t mbFunc3Handler(void *frame){
// mbFunc3Rqs_t *rqs = frame;
// mbFunc3Rsp_t *rsp = frame;
return MBE_NONE;
}
kolobok0, спасибо за "пару слов" постараюсь обойти грабли