查看: 937|回复: 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;
    }
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    <ESP8266NodeMCU>网络连接问题
    <ESP8266NodeMCU>网络连接
    在我家的WiFi可以连上,但在学校里无论是WiFi还是手机热点就是连不上。 想让各位康
    基于机器视觉的智能分拣机械臂
    基于机器视觉的智能分拣机
    本作品是一个基于机器视觉的智能机械臂操作平台,其采用atmega32单片机作为主控制系统
    晒图ESP8266一个框架
    晒图ESP8266一个框架
    好久没发帖了,出来活跃活跃一下。ESP8266免身份登录截图。 最近外研究新的架构M2M或P
    blinker做的卧室灯开关发现一个问题
    blinker做的卧室灯开关发
    做了一个卧室灯开关并安装到墙壁86盒中,实现了小爱同学,墙壁开关点动控制开关灯.看起
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表