hth159357 2018-04-07 09:10 采纳率: 75%
浏览 1321
已采纳

用c++通过socket链接上一个设备以后,我该怎么将指令传输到设备中呢

![![![![![图片说明](https://img-ask.csdn.n<br> et/upload/201804/07/1523091242_386840.png)图片说明](https://img-ask.csdn.net/upload/201804/07/1523091236_742031.png)图片说明](https://img-ask.csdn.net/upload/201804/07/1523091231_747350.png)图片说明](https://img-ask.csdn.net/upload/201804/07/1523091223_270356.png)图片说明](https://img-ask.csdn.net/upload/201804/07/1523091213_596105.png)图片说明

//BYTE sz[1024];
char sz[1024];
//sz[1] = '1';

memset(sz, '\0', 1024);

sz[0] = 83;//开始标志
sz[1] = 67;

sz[2] = 0;//校验码   82
sz[3] = 82;

sz[4] = 68;  //sn码  sn码为 0x05f844
sz[5] = 248;
sz[6] = 5;
sz[7] = 0;

sz[8] = 1;//重启指令  0x0501
sz[9] = 5;

sz[10] = 2;//长度2
sz[11] = 0;

sz[12] = 6;//数据区为0   不传输数据
sz[13] = 3;

sz[14] = 69;//结束标志
sz[15] = 67;



send(pSocket, sz, 16, 0);

我按着协议上的要求,用send将一条重启指令发送过去了,可是完全没有反应,我重复核对过我的指令是不是正确使用16进制表达清楚,应该是没有问题的,现在我想我是不是用错方法了

这里问题可能描述的不全面,第一次玩csdn,不知道能不能留联系方式,这个问题困扰我很多天,查了资料发现网上资料很少,在此求助csdn上各位大手子

  • 写回答

13条回答 默认 最新

  • userchen 2018-04-07 16:22
    关注

    //#define BUFFER_LENGTH (1024*15+20)
    //unsigned char sz = (unsigned char)malloc(BUFFER_LENGTH);

    memset(sz, 0, BUFFER_LENGTH);

    sz[0] = 0x53; // 开始标志("SC"): 0x4353
    sz[1] = 0x43;

    sz[2] = 0x52; // 校验码: 0x0052 ?请参考文档附录“校验码算法”重新进行计算
    sz[3] = 0x00;

    sz[4] = 0x44; // SN: 0x0005f844
    sz[5] = 0xf8;
    sz[6] = 0x05;
    sz[7] = 0x00;

    sz[8] = 0x01; // 重启指令: 0x0501
    sz[9] = 0x05;

    sz[10] = 0x00; // 数据长度: 无参数
    sz[11] = 0x00;

    sz[12] = 0x45; // 结束标志("EC"): 0x4345
    sz[13] = 0x43;

    send(pSocket, sz, 14, 0);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(12条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题