시리얼 통신을 하다보면 어떤 모듈들에게 HEX코드로 입력을 해야할 때가 있습니다. 아니면 내부에서 문자값을 헥사값으로 치환하여 사용하는 경우가 종종 있죠..그걸 대비해서 만들어 보았습니다. 머 별다른 건 없다고 생각합니다. 아스키코드의 조작을 통해 만들어지는 거니깐요.. 아래 함수 설명해볼까요?
먼저 Data에 아스키 문자값 한바이트를 집어넣습니다. 이렇게 되겠죠...

unsigned char OutputData = 0;
OutputData = AscToHex('0');


그럼 OutputData에는 0x30이라는 헥사값이 출력됩니다.^^
응용하여 사용해보세요..

unsigned char AscToHex(unsigned char Data)
{
    if(Data < 0x30)
        return 0;

    if( (0x30<= Data) && (Data<= 0x39) )
    {
        Data-= 0x30;
        return Data;
    }
    if(('a'<= Data) && (Data<= 'f'))
    {
        Data-= 0x57;
        return Data;
    }
    if(('A'<= Data) && (Data<= 'F'))
    {
        Data-= 0x37;
        return Data;
    }
    return 0;

참고 : http://mindol.egloos.com/477608

2009/10/18 05:45 2009/10/18 05:45
Trackback address :: http://4ellene.net/tt/trackback/1300

Comments List

Write a comment.

[로그인][오픈아이디란?]