串口发送16进制数据

本文介绍了如何使用串口调试助手来发送16进制数据,通过分析和实践,详细阐述了实现过程。
摘要由CSDN通过智能技术生成

用串口调试助手时发现此工具可以发送 16进制的数据串

分析后,粗略实现如下: 

 

// eg: unsigned char src[] = "02042A2A50575203"  
// 16进制的串 
// 每1个字节可以存放2个16进制位
// eg:16进制的 0x01 在内存中为(little-endian)   0000,0001   =  (0x0 << 4 | 0x1)
//             0x2a                           0010,1010   =  (0x2 << 4 | 0xa)
// 

#define HEX_STR_LEN         17

int hextoi(unsigned char * asic)
{
    if(*asic >= 48 && *asic <= 57)
    {
        *asic -= 48;
    }
    else if(*asic >= 65 && *asic <= 70)
    {
        *asic = *asic - 65 + 10;
    }
    else if(*asic >= 97 && *asic <= 102)
    {
        *asic = *asic - 97 + 10;
    }
    else
    {
        return -1;
    }
    return 0;
}

int hex2numeric(void * src, unsigned int len, unsigned char * serialCmd)
{
    if(src == NULL || serialCmd == NULL)
    {
        return -1;
    }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值