查看: 215|回复: 3

[未解决] 如何将一个64位整型转成byte数组

[复制链接]

该用户从未签到

发表于 2019-9-19 21:24 | 显示全部楼层 |阅读模式
在控制一个云台电机时需要把一个64位整型转为byte数组发给电机,整型转byte我知道可以用共用体的方法解决,但long好像也只有32位,所以怎么把一个64位整型转成byte[]呢?
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-9-19 21:36 | 显示全部楼层
    用共用体结构保存其他类型的数据到EEPROM: https://www.arduino.cn/thread-2684-1-1.html
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    擦汗
    2019-7-29 00:08
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2019-9-19 22:48 | 显示全部楼层
    移位就行啊,何必那么麻烦

    该用户从未签到

    发表于 2019-9-20 22:38 | 显示全部楼层
    本帖最后由 weihu120 于 2019-9-20 22:44 编辑

    #include <stdint.h>
    #include <stdio.h>

    union {
    uint64_t ui64; //long long int ui64;
    char ac[8];
    } S;

    int main(int argc, char * argv[]) {
         S.ui64 = 0x3736353433323130;
         for (int i=0; i<8; ++i) {
              printf("%c\n", S.ac);
         }

         puts("##############################");

         long long int ui64=0x3031323334353637;
         char * ac = (char *)&ui64;
         for (int i=0; i<8; ++i) {
              printf("%c\n", ac);
         }

         puts("##############################");

         for (int i=0; i<8; ++i) {
                      printf("%c\n", (char)(ui64 >> (i*8)) & 0xff);
         }

         return 0;
    }
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    【Arduino】108种传感器模块系列实验(104)---MAX30102手腕心率
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    萌新报道 刚购买了一个watchx
    萌新报道 刚购买了一个wat
    就这货 但是网上让下载库 我点加载以后他提示没法用。。 求大神帮忙 谢谢了
    【Arduino】108种传感器系列实验(15)---手指侦测心跳传感...
    【Arduino】108种传感器系
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    求助!GM65二维码扫描模块怎么用?
    求助!GM65二维码扫描模块
    求助!GM65二维码扫描模块怎么用? 卖家给的资料真的看不懂该怎么弄。。( ̄▽ ̄)~*
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表