错误 #4313
STE原代码中竞争解决定时器赋值错误,出现定时器时间比配置值短的问题,导致在msg4收到前竞争解决定时器已超时,发起了多次随机接入过程
0%
描述
【问题描述】STE原代码中竞争解决定时器赋值错误,出现定时器时间比配置值短的问题,导致在msg4收到前竞争解决定时器已超时,发起了多次随机接入过程
【问题根因】STE原代码中竞争解决定时器赋值错误
【修改方案】直接修改竞争解决定时器赋值方式
历史记录
由 刘 播雨 更新于 大约 2 个月 之前
- 状态 从 新建 变更为 进行中
【20251025】已经验证通过
【修改方式】wnUInt8 raCntResTimer = 0;
switch(rachCb->rachConfig->RaCntRsltnTmr)
{
case 0: raCntResTimer = 8;
break;
case 1: raCntResTimer = 16;
break;
case 2: raCntResTimer = 24;
break;
case 3: raCntResTimer = 32;
break;
case 4: raCntResTimer = 40;
break;
case 5: raCntResTimer = 48;
break;
case 6: raCntResTimer = 56;
break;
case 7: raCntResTimer = 64;
break;
default: raCntResTimer = -1;
break;
}
struct itimerspec its = {0};
its.it_value.tv_sec = 0;
#if 1
its.it_value.tv_nsec = raCntResTimer*1000000;
#else
its.it_value.tv_nsec = rachCb->rachConfig->RaCntRsltnTmr*1000000;
#endif