利用下面函数对GSM模块发送数据,如果只是发送strTemp="AT"就没有任何问题,但是当发送strTemp="AT\r\n",就是包含\r\n控制符号时候会出现错误提示?void CModemConnetDlg::OnButton2()
{
CString strTemp;
strTemp="AT\r\n";
SendString1(strTemp); }
void CModemConnetDlg::SendString1(CString mm_strSend)
{
char TxData[100];
int Count = mm_strSend.GetLength();
CString ls_str;
for(int i = 0; i < Count; i++)
{
TxData[i] = mm_strSend.GetAt(i);
ls_str=ls_str+mm_strSend.GetAt(i); }
CByteArray array;
array.RemoveAll();
array.SetSize(Count);
for(i = 0; i < Count; i++)
array.SetAt(i, TxData[i]);
m_Com.SetOutput(COleVariant(array));
}
{
CString strTemp;
strTemp="AT\r\n";
SendString1(strTemp); }
void CModemConnetDlg::SendString1(CString mm_strSend)
{
char TxData[100];
int Count = mm_strSend.GetLength();
CString ls_str;
for(int i = 0; i < Count; i++)
{
TxData[i] = mm_strSend.GetAt(i);
ls_str=ls_str+mm_strSend.GetAt(i); }
CByteArray array;
array.RemoveAll();
array.SetSize(Count);
for(i = 0; i < Count; i++)
array.SetAt(i, TxData[i]);
m_Com.SetOutput(COleVariant(array));
}
直接发送strTemp="AT\n\r"会出现运行错误;
但是分开发送,就是先strTemp="AT",再strTemp="\n\r"却正确。