我需要向串口发送一个命令,这个命令是这样的:<esc>CF<return>
也就是发送的命令 CF 前面一个esc后面一个回车。
如果只发送CF, 我可以用CString string = "CF" ,可是现在前面有个esc后面有个回车,我该怎么半?????

解决方案 »

  1.   

    CString string = "CF\n";
      

  2.   

    但前面呢?前面的esc怎么表示?
      

  3.   

    CString string = "CF\r";
      

  4.   

    BYTE mybyte[];mybyte[0] = 27;//esc
    mybyte[1] = 67;//c
    mybyte[2] = 70;//f
    mybyte[3] = 13;//回车
      

  5.   

    esc=27;
    回车=13;
    char c[12];
    c[0]=27;
    c[1]='C';
    c[2]='F';
    c[3]=13;
    c[4]='\0';
    c=<esc>CF<return>
      

  6.   

    若要导入CString中,只需:mybyte[4] = 0;
    CString mstring(mybyte);
      

  7.   

    或使用 mstring.Format("%s",mybyte);
      

  8.   

    To :chinacao(c-ok.net) ,
       我是要往串口发送这个命令,而我用的那个串口类的写串口的函数是这样的:
       WriteToPort(char* string)
    我怎么把我的BYTE型的数据传给它?
      

  9.   


    char c[12];
    c[0]=27;
    c[1]='C';
    c[2]='F';
    c[3]=13;
    c[4]='\0';
     WriteToPort(c);
      

  10.   

    实际上 BYTE 和char 是一样的,都是1个字节。
    故,你可直接定义为char * ,或如 3jaja(3++输入法) 所述。
      

  11.   

    即:char mybyte[];//或 char *mybyte;mybyte[0] = 27;//esc
    mybyte[1] = 67;//c
    mybyte[2] = 70;//f
    mybyte[3] = 13;//回车