串口发送\r\n的有关问题

串口发送\r\n的问题
我需要从串口发送形如“#1P600T1000\r\n”的指令,其中P和T之间的数字是变化的
我的发送指令现在是这样写的
C/C++ code

    char sMess[] = "#1P";
    DWORD sSize = sizeof(sMess);
    LPDWORD ssSize = &sSize;
    WriteFile(hCom,sMess,sSize,ssSize,NULL);
    sSize = sizeof(sAngle);//sAngle为输入的数字转换为char*
    WriteFile(hCom,sMess,sSize,ssSize,NULL);
    char eMess[] = "T1000";
    sSize = sizeof(eMess);
    WriteFile(hCom,eMess,sSize,ssSize,NULL);
    BYTE SendOrder[2] = {0x0d,0x0a};//这里把\r\n转换成16进制数出
    sSize = sizeof(SendOrder);
    WriteFile(hCom,SendOrder,sSize,ssSize,NULL);


但是指令输出没有效果,用串口调试软件分别发送消息就可以,请问是什么原因?

------解决方案--------------------
指令码的 长度有误

C/C++ code
  char sMess[] = "#1P";
    DWORD sSize = sizeof(sMess)-1;
    LPDWORD ssSize = &sSize;
    WriteFile(hCom,sMess,sSize,ssSize,NULL);
    sSize = sizeof(sAngle)-1;//sAngle为输入的数字转换为char*
    WriteFile(hCom,sMess,sSize,ssSize,NULL);
    char eMess[] = "T1000";
    sSize = sizeof(eMess)-1;
    WriteFile(hCom,eMess,sSize,ssSize,NULL);
    BYTE SendOrder[2] = {0x0d,0x0a};//这里把\r\n转换成16进制数出
    sSize = sizeof(SendOrder);
    WriteFile(hCom,SendOrder,sSize,ssSize,NULL);