51单片机将字符转换为16进制数

首先判断是数字还是字母,如果是数字,那么减0x30(0的ASCII),如果是字母,那么减0x41(A的ASCII),减完后,将两个数组合起来就可以了,第一个数放高四位,第二个数放低四位。
引自https://zhidao.baidu.com/question/364239821229248972.html

例如

    //初始化时钟的时间
    //时
    t1 = __TIME__[0] - 0x30;
    t2 = __TIME__[1] - 0x30;

    TIME[2] = t1 << 4 | t2;

    //分
    t1 = __TIME__[3] - 0x30;
    t2 = __TIME__[4] - 0x30;

    TIME[1] = t1 << 4 | t2;

    //秒
    t1 = __TIME__[6] - 0x30;
    t2 = __TIME__[7] - 0x30;

    TIME[0] = t1 << 4 | t2;

猜你喜欢

转载自blog.csdn.net/qq_39592312/article/details/107353675