专栏中心

EEPW首页 > 专栏 > 蓝牙MAC地址从字符串变成hex

蓝牙MAC地址从字符串变成hex

发布人:电子禅石 时间:2018-01-12 来源:工程师 发布文章

编译环境:DEV-C++ 5.6.3

主要实现:字符串的MAC转换成6字节 数值型MAC地址,及从大端模式转换成小端模式

#include "stdio.h"

typedef unsigned          char uint8_t;
typedef unsigned short     int uint16_t;
typedef unsigned           int uint32_t;


static uint8_t charToData(const char ch)
{
    switch(ch)
    {
        case '0':return 0;
        case '1':return 1;
        case '2':return 2;
        case '3':return 3;
        case '4':return 4;
        case '5':return 5;
        case '6':return 6;
        case '7':return 7;
        case '8':return 8;
        case '9':return 9;
        case 'a':
        case 'A':return 10;
        case 'b':
        case 'B':return 11;
        case 'c':
        case 'C':return 12;
        case 'd':
        case 'D':return 13;
        case 'e':
        case 'E':return 14;
        case 'f':
        case 'F':return 15;
    }
}

void strToMac(const char * szMac,uint8_t *pMac)
{
    const char *pTemp = szMac;
    int i=0;
    for(i=0;i<6;++i)
    {
        pMac[i]=charToData(*pTemp++)*16; //取值后指针加1
        pMac[i] +=charToData(*pTemp++);
    //    pTemp++;        
    }
}

void big_to_little(uint8_t *srcArray,uint8_t *desArray,uint8_t length)
{
    int i=0;
    for(i=0;i<=length;i++)
    {
        desArray[length-i]=srcArray[i];
    }
}

main()
{
    char test[12]="F891722C335B";
    uint8_t MAC[6];
    uint8_t des_MAC[6];
    strToMac(test,MAC);
    printf("%x,%x,%x,%x,%x,%x\r\n",MAC[0],MAC[1],MAC[2],MAC[3],MAC[4],MAC[5]);
    big_to_little(MAC,des_MAC,5);
    printf("%x,%x,%x,%x,%x,%x\r\n",des_MAC[0],des_MAC[1],des_MAC[2],des_MAC[3],des_MAC[4],des_MAC[5]);
    
}

结果显示:

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

三星显示与英特尔携手为智能PC市场

光电显示 2025-02-25

出发!和骁龙座舱平台至尊版一起畅享智慧出行新体验

历史首次!三星将使用长江存储专利技术

计算机架构和设计的发展方向在哪里?

智能计算 2025-02-25

2028年中国ICT市场规模将超7,517亿美元,五年复合增长率6.5%

拍个马屁

masfz 2005-03-27

Bluetechnix演示即插即用摄像机系统

X-fest 2012 ADI公司技术展示预览

视频 2012-06-18

Apple智能与阿里达成合作,4月上线!

智能计算 2025-02-25

经济高效的AI系统助力语音与图像识别

GPU,加速计算光刻

智能计算 2025-02-25

过程控制演示

视频 2012-06-18

ADI在线研讨会:您不知道的关于DAC的五件事

视频 2012-06-18

ADI在线研讨会:差分驱动ADC的最新发展:第一部分

视频 2012-06-18

2025年无线连接七大趋势,你都get到了吗?

DeepSeek适配国产芯片:差异化表现,商用前景各异

更多 培训课堂
更多 焦点
更多 视频

技术专区