串口通信,如果数据长度不固定

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
 自定义串口通信,如果数据长度不固定,比如从2~128个字节不等,

case 1:
recv_Led_time = recv_buf[2];
recv_Led_time <<= 8;
recv_Led_time += recv_buf[1];
break;
这里要如何修改

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果