查看: 246|回复: 6

[未解决] string转16进制问题

[复制链接]

该用户从未签到

发表于 2019-5-17 10:56 | 显示全部楼层 |阅读模式
哪位大神帮帮忙!!!
用String comdata = "";在串口读到16进制字符串,
现在想提取其中的一个数据comdata[6],
然后转成16进制,
用Serial.write送出去怎么办?
卡在这很久了!!!
  • TA的每日心情
    开心
    2019-6-15 00:15
  • 签到天数: 43 天

    [LV.5]常住居民I

    发表于 2019-5-17 13:00 | 显示全部楼层
    你需要 sscanf,用 %x 参数就可以抽出 char* 字串中的 HEX 数值。
    但是这里是 String 类型,需要先转换到 char* 然后再操作,大致如下:

    2019-05-17_125522.png

    该用户从未签到

     楼主| 发表于 2019-5-21 09:52 | 显示全部楼层
    本帖最后由 zyjun 于 2019-5-21 09:54 编辑

    我的项目里还须要将字符串里指定位置的字符提取出来(比如第3个和第4个字符),再和其它的16进制字符连接起来(我用的是char[]格式),最后用Serialwrite把拼接后的字符串送出去,需要怎么写代码?望不吝赐教,万分感谢!

    该用户从未签到

     楼主| 发表于 2019-5-21 09:55 | 显示全部楼层
    t3486784401 发表于 2019-5-17 13:00
    你需要 sscanf,用 %x 参数就可以抽出 char* 字串中的 HEX 数值。
    但是这里是 String 类型,需要先转换到 c ...

    我的项目里还须要将字符串里指定位置的字符提取出来(比如第3个和第4个字符),再和其它的16进制字符连接起来(我用的是char[]格式),最后用Serialwrite把拼接后的字符串送出去,需要怎么写代码?望不吝赐教,万分感谢!
  • TA的每日心情
    开心
    2019-6-15 00:15
  • 签到天数: 43 天

    [LV.5]常住居民I

    发表于 2019-5-21 11:43 | 显示全部楼层
    zyjun 发表于 2019-5-21 09:55
    我的项目里还须要将字符串里指定位置的字符提取出来(比如第3个和第4个字符),再和其它的16进制字符连接 ...

    用 strcat

    该用户从未签到

     楼主| 发表于 2019-5-21 17:19 | 显示全部楼层
    t3486784401 发表于 2019-5-17 13:00
    你需要 sscanf,用 %x 参数就可以抽出 char* 字串中的 HEX 数值。
    但是这里是 String 类型,需要先转换到 c ...

    我按您的方法,为什么只能送出最多4个字符,多了就出错
  • TA的每日心情
    开心
    2019-6-15 00:15
  • 签到天数: 43 天

    [LV.5]常住居民I

    发表于 2019-5-21 23:54 | 显示全部楼层
    zyjun 发表于 2019-5-21 17:19
    我按您的方法,为什么只能送出最多4个字符,多了就出错


    因为 %x 就是抽出 uint16_t 的数据,再长了你需要用 %lx 以及 uint32_t 类型:

    uint32_t v32;
    sscanf(str, "%lx", &v32);

    想要抽出数组(任意长度)的话,需要你自己把 HEX 字符截断,每两位一个字节
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    设计了一款智能加湿器,出现了一些控制上的问题
    设计了一款智能加湿器,出
    最近在学习blinker,就想着把手头的加湿器改装成智能加湿器,用了一块WiFiduino、一个
    关于Open Nul问题,
    关于Open Nul问题,
    如图所示,驱动安装的时候,没有出现错误(比如安装过程中没有出现系统找不到指定文件
    Arduino模拟USB键盘
    Arduino模拟USB键盘
    [md] ### 模拟键盘输入信息 本示例将演示使用Arduino Leonardo模拟USB键盘输出信息。
    小白求助
    小白求助
    小白刚接触arduino编程基础较差,发现可以使用图形编程软件,想问一下图片上的是什么
    光敏电阻检测环境光实验
    光敏电阻检测环境光实验
    本文节选自《Arduino程序设计基础》 一些简单的电子元件就可以做传感器使用,例如我
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表