我用对话框编写了一个通过串口向手机发送AT Command的小程序,按Send键的处理函数如下:
void CATCommTestDlg::OnSend()
{
// TODO: Add your control notification handler code here UpdateData(TRUE);
m_ctrlComm.SetOutput(COleVariant(m_strData)); //m_strData为文本框的变量
}
可我在文本框中编写“AT+MTEST=key,5,10\r”后按Send键,手机却没有反应,但如果我不用UpdateData()而写成如下形式:
void CATCommTestDlg::OnSend()
{
// TODO: Add your control notification handler code here CString str="AT+MTEST=key,5,10\r";
m_ctrlComm.SetOutput(COleVariant(str));
}
即不通过文本框写命令,此时按Send键手机就会正确相应,为什么??
void CATCommTestDlg::OnSend()
{
// TODO: Add your control notification handler code here UpdateData(TRUE);
m_ctrlComm.SetOutput(COleVariant(m_strData)); //m_strData为文本框的变量
}
可我在文本框中编写“AT+MTEST=key,5,10\r”后按Send键,手机却没有反应,但如果我不用UpdateData()而写成如下形式:
void CATCommTestDlg::OnSend()
{
// TODO: Add your control notification handler code here CString str="AT+MTEST=key,5,10\r";
m_ctrlComm.SetOutput(COleVariant(str));
}
即不通过文本框写命令,此时按Send键手机就会正确相应,为什么??
建议文本筐里面不要加\r, 再updatedata后,手动连接上一个"\r"m_strEdit += "\r";