求助:串口数据发送问题
/*************************************************
函数名称 SendCmd
简要描述 发送串口命令数据
*************************************************/
void CradarDlg::SendCmd()
{
if(m_nSendTimes < 3)
{
CString SendString = ""; //memory the frame
BYTE m_bySendFrame2[7]={0xF1,0x1F,0x00,0x01,0xAA,0xDE,0xFF};
bCmdState = FALSE; //禁止其他命令的发送!!
for (int i = 0; i < 7; i++)
{
SendString += ( char ) m_bySendFrame[i]; //format the frame
}
m_Port.WriteToPort((LPCTSTR)SendString);
m_nTimer2s = SetTimer ( 2, 2000, 0 );// 启动1秒定时
m_nSendTimes ++ ;
}
else//发送三次都失败
{
bCmdState = TRUE; // 允许其他命令发送
m_nSendTimes= 0; //发送次数清零
KillTimer(2);
}
}
如上函数, 把m_bySendFrame2[7]={0xF1,0x1F,0x00,0x01,0xAA,0xDE,0xFF}作为RS232控制指令发送到
串口,到0x00就无法发送,实际上是F1 1F ,而不是F1 F 00 01 AA DE FF
为什么?如何改?