错误 #4313
STE原代码中竞争解决定时器赋值错误,出现定时器时间比配置值短的问题,导致在msg4收到前竞争解决定时器已超时,发起了多次随机接入过程
0%
描述
【问题描述】STE原代码中竞争解决定时器赋值错误,出现定时器时间比配置值短的问题,导致在msg4收到前竞争解决定时器已超时,发起了多次随机接入过程
【问题根因】STE原代码中竞争解决定时器赋值错误
【修改方案】直接修改竞争解决定时器赋值方式
历史记录
由 刘 播雨 更新于 10 天 之前
- 状态 从 新建 变更为 进行中
 
【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