查看: 716|回复: 6

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

[复制链接]

该用户从未签到

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

    [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-7-29 00:08
  • 签到天数: 47 天

    [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-7-29 00:08
  • 签到天数: 47 天

    [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 字符截断,每两位一个字节
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    SpiderRobot 蜘蛛
    SpiderRobot 蜘蛛
    关于SpiderRobot 项目实行方案 之前有人推荐我做这个项目,于是乎就有了这个 h
    Arduino MEGA 与UNO 通过nRF24L模块通讯
    Arduino MEGA 与UNO 通过n
    之前在深水宝很“实惠”的店铺买了一些原件,随手砍了esp8266以及nRF24L*3 因为缺
    求助!GM65二维码扫描模块怎么用?
    求助!GM65二维码扫描模块
    求助!GM65二维码扫描模块怎么用? 卖家给的资料真的看不懂该怎么弄。。( ̄▽ ̄)~*
    KPM大比拼
    KPM大比拼
    前言:没别的就是比手快! 方案描述: 做这个的初衷其实是受到一些网红玩具的启发—
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表