查看: 161|回复: 6

[未解决] 请教各位大神如何把整型量转化为十六进制0x0A这样的形式?

[复制链接]
  • TA的每日心情
    奋斗
    2018-11-5 09:12
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2019-1-6 11:06 | 显示全部楼层 |阅读模式
    例如把10转化为0x0A,把11转化为0x0B。
  • TA的每日心情
    无聊
    2019-1-14 08:00
  • 签到天数: 34 天

    [LV.5]常住居民I

    发表于 2019-1-6 13:25 | 显示全部楼层

    回帖奖励 +5 金币

    存储于变量中的数值,并不是想象中的十进制。
    只是打印的时候,指定想要的进制就好了。例如:
    1. int val=10;
    2. Serial.println(val, HEX);
    复制代码
  • TA的每日心情
    奋斗
    2018-11-5 09:12
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-1-6 14:39 | 显示全部楼层
    我需要用Serial.write(0x0a)传送十六进制的数,不能用Serial.print(a,HEX),它只显示为十六进制,本质传送的不是十六进制。所以我传之前需要把整型的10转为0x0A,因为数据在变化所以需要一个dec to hex类似这样的转换函数。
  • TA的每日心情
    奋斗
    2018-11-5 09:12
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-1-6 14:43 | 显示全部楼层
    void dec2hex(int n,char *buf)
    {
      char t;
      char *p=buf;
      while(n)
      {
        t=n%16;
        *buf++=t<10?t+'0':t-10+'A';
        n/=16;
      }
      *buf++='0';
      *buf--='\0';
      while(p<buf)
      {
        t=*p;
        *p=*buf;
        *buf=t;
        ++p;
        --buf;
      }
    }
    或者有大神能完善一下这个函数吗?
  • TA的每日心情
    奋斗
    2018-11-5 09:12
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-1-6 15:18 | 显示全部楼层
    谢谢,已经解决,Serial.write(),括号内十进制就行。
  • TA的每日心情
    慵懒
    2018-11-12 08:58
  • 签到天数: 37 天

    [LV.5]常住居民I

    发表于 2019-1-9 11:10 | 显示全部楼层

    回帖奖励 +5 金币

    本帖最后由 跑龙套的保 于 2019-1-9 11:11 编辑

    不需要转,直接发送就行,不同进制只是表现形式不同,10=0x0A,char a= 10和char a=0x0a,是相等的
    文章有帮助,可以请我喝杯咖啡
  • TA的每日心情
    开心
    2019-1-16 08:13
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2019-1-11 16:45 | 显示全部楼层

    回帖奖励 +5 金币

    可以自己考虑写段代码来转,用除16求余数来做。
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    KittenBot杯第六届开源硬件开发大赛启动啦
    KittenBot杯第六届开源硬
    大赛简介: 第六届开源硬件开发大赛由Arduino中文社区发起 由KittenBot冠名赞助
    关于arduino编译问题
    关于arduino编译问题
    编译示例程序老是这个问题,换了电脑都不行
    莫名乱码 —— Arduino+RFID-RC522 读写实验
    莫名乱码 —— Arduino+RF
    目标:想把自己房间门改成感应门锁 器材:Arduino Uno (淘宝七星虫LY-F2)、RFID-RC
    [blinker开发实战2]数据反馈
    [blinker开发实战2]数据反
    [md] ### 添加DIY组件 在编辑模式下,点击按键进入编辑组件页面,可以看到 **按键
    用Arduino控制PS2无线手柄为什么一直连接不上
    用Arduino控制PS2无线手柄
    用Arduino UNO板 连接PS2手柄接收器,为什么指示灯已经显示对接上了,但是打开串口监
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表