Код
{
case GET_DATA_LOGGER:
uint32_t len=(uint32_t)usartRxBuf[16]+((uint32_t)usartRxBuf[15]<<8);
uint32_t deltaOffset=(uint32_t)usartRxBuf[14]+((uint32_t)usartRxBuf[13]<<8);
uint32_t delay=usartRxBuf[17];
uint32_t times=usartRxBuf[18];
break;
}
case GET_DATA_LOGGER:
uint32_t len=(uint32_t)usartRxBuf[16]+((uint32_t)usartRxBuf[15]<<8);
uint32_t deltaOffset=(uint32_t)usartRxBuf[14]+((uint32_t)usartRxBuf[13]<<8);
uint32_t delay=usartRxBuf[17];
uint32_t times=usartRxBuf[18];
break;
}
получаю
a label can only be part of a statement and a declaration is not a statement
я должен создать переменные перед case
Код
switch(mode)
{
uint32_t len;
uint32_t deltaOffset;
uint32_t delay;
uint32_t times;
case GET_DATA_LOGGER:
len=(uint32_t)usartRxBuf[16]+((uint32_t)usartRxBuf[15]<<8);
deltaOffset=(uint32_t)usartRxBuf[14]+((uint32_t)usartRxBuf[13]<<8);
delay=usartRxBuf[17];
times=usartRxBuf[18];
break;
}
{
uint32_t len;
uint32_t deltaOffset;
uint32_t delay;
uint32_t times;
case GET_DATA_LOGGER:
len=(uint32_t)usartRxBuf[16]+((uint32_t)usartRxBuf[15]<<8);
deltaOffset=(uint32_t)usartRxBuf[14]+((uint32_t)usartRxBuf[13]<<8);
delay=usartRxBuf[17];
times=usartRxBuf[18];
break;
}
Раньше это меня не особо беспокоило, но теперь у меня есть десятки кейсов с кучой переменных и это раздражает.