Зробив так:
1. Передаємо вказівник на масив і розмір масиву:
MyWidgetInHandler handler = MyGetInHandler(data[MY_BLYNK_OFFSET_NUM_PIN]);
handler(myParam, sizePinDat);
2. Приймаю вказівник і розмір та передаю у функцію ParamAsInt(param, size):
MY_BLYNK_INPUT(V2)
{
int statusLed = ParamAsInt(param, size);
if(statusLed < 55)
{
HAL_GPIO_WritePin(LD5_GPIO_Port, LD5_Pin, GPIO_PIN_SET);
}
else if(statusLed > 950)
{
HAL_GPIO_WritePin(LD5_GPIO_Port, LD5_Pin, GPIO_PIN_RESET);
}
}
3. Ну і сама функція ParamAsInt(param, size):
int ParamAsInt(char* ptr, uint8_t size)
{
char number[size];
for(int i = 0; i < size; i++)
{
number[i] = *(ptr++);
}
return atoi(number);
}
Це працює добре. Але є одне але...
А можна якимось чином передати функції ParamAsInt розмір масиву оминаючи передачу його, розміру, в функцію MY_BLYNK_INPUT(V2)???
Щоб можна було робити запис такого типу int statusLed = ParamAsInt(param);, а функція ParamAsInt отримує розмір якимось, невидимим для користувача, шляхом???