convert.c

来自「MSC1210 驱动 OLED源程序 包括ASCII码字库表」· C语言 代码 · 共 86 行

C
86
字号
//单个字符转HEX
unsigned char AsciiToHex(char input)
{
    unsigned char output;
         if( (input>='0') && (input<='9') )
    {
        output  = input - '0';
    } 
    else if( (input>='A') && (input<='F') )
    {
        output  = input - 0x41 + 10;
    }
    else if( (input>='a') && (input<='f') )
    {
        output  = input - 0x61 + 10;
    }
    else
    {
        output=0;
    }
    return( output&0x0F );
}

//单个字符转BCD
unsigned char AsciiToBCD(char input)
{
    unsigned char output;
         if( (input>='0') && (input<='9') )
    {
        output  = input - '0';
    } 
    else
    {
        output=0;
    }
    return( output&0x0F );
}
               
//字符串转HEX
unsigned int StringToHEX(char *point, unsigned char length)
{
    unsigned int  output;
    unsigned char i;
    char    temp;
    for(output=0,i=0; i<length; i++)
    {   
        temp    = *(point+i);
        if( temp == 0)
        {
            break;
        }
        else
        {
            output  = output<<4;
            output += AsciiToHex( temp );
        }
    }
    return( output );
}
               
//字符串转HEX
unsigned int StringToBCD(char *point, unsigned char length)
{
    unsigned int  output;
    unsigned char i;
    char    temp;
    for(output=0,i=0; i<length; i++)
    {   
        temp    = *(point+i);
        if( temp == 0)
        {
            break;
        }
        else
        {
            output  = output*10;
            output += AsciiToBCD( temp );
        }
    }
    return( output );
}




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?