박력돌이

wooristar.egloos.com

포토로그


애드센스와이드


[CAPL] WRITE 함수 사용 시 오류 주의 Vector(CANoe)

오류 코드
char fn_UDSstatusOfDTC(byte statusOfDTC)
{
        char cResultVal;
    byte bCalculatebyte;
    bCalculatebyte = (statusOfDTC & 0x09); //compare with 0,3bit
    switch (bCalculatebyte){
        case(0x08):
            cResultVal = 0;
            break;
        case(0x09):
            cResultVal = 'H';
            break;
    }           
       
    return cResultVal;
}

위의 0x08 case에서 함수의 타입은 char인데 실제 반환 값을 0으로 설정하여 write 함수 실행 시 에러는 아니지만
정상적으로 표현이 안되는 문제가 발생함
write창에 DTC표현 시 cResultVal = 0; 에 해당하는 값이 나올 때 이후 의 write함수 결과 값이 표현 안되는 에러가 있음

정상 코드
char fn_UDSstatusOfDTC(byte statusOfDTC)
{
        char cResultVal;
    byte bCalculatebyte;
    bCalculatebyte = (statusOfDTC & 0x09); //compare with 0,3bit
    switch (bCalculatebyte){
        case(0x08):
            cResultVal = '_'; // 또는 cResultVal = 0x20; 으로 써주는게 적절함
            break;
        case(0x09):
            cResultVal = 'H';
            break;
    }           
       
    return cResultVal;
}



아스키 코드값으로 써주든지 정확한 문자값을 써주든지 해야 함





덧글

  • 2013/11/22 11:42 # 비공개

    비공개 덧글입니다.
  • 2013/12/03 16:19 # 비공개

    비공개 답글입니다.
※ 로그인 사용자만 덧글을 남길 수 있습니다.