Чтобы проверить работает ли хоть что-то, вставил "неправильные" функции вывода:
void loop (void)
{
for (;CalcedWaveLength==0;
uint8_t cwl=CalcedWaveLength;
CalcedWaveLength=0;
if ((cwl>2)&&(cwl<5)) {
UART_SendByte('0');
Serial.print('0'); }
else
if ((cwl>=5)&& (cwl<8)) {
UART_SendByte('1');
Serial.print('1');
}
else {
UART_SendByte('?');
Serial.print('2');
}
}

открыл монитор порта - тишина