Windows mobile Windows Mobile 6 AT命令
我正在尝试使用AT命令获取CellID,但我没有从调制解调器得到任何响应,我的代码如下所示,我发送AT+CCED命令,但从未得到任何响应Windows mobile Windows Mobile 6 AT命令,windows-mobile,modem,at-command,Windows Mobile,Modem,At Command,我正在尝试使用AT命令获取CellID,但我没有从调制解调器得到任何响应,我的代码如下所示,我发送AT+CCED命令,但从未得到任何响应 HANDLE hCom; char * xpos; char rsltstr[5]; DWORD returnValue; DWORD LAC; DWORD CellId; int bufpos; DCB dcb; COMMTIMEOUTS to; DWORD nWritten; DWORD event; DWORD nRead; char outbuf[20
HANDLE hCom;
char * xpos;
char rsltstr[5];
DWORD returnValue;
DWORD LAC;
DWORD CellId;
int bufpos;
DCB dcb;
COMMTIMEOUTS to;
DWORD nWritten;
DWORD event;
DWORD nRead;
char outbuf[20], buf[256];
hCom = CreateFile(L"\\\.\\COM9:",GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if (hCom==NULL || hCom==INVALID_HANDLE_VALUE)
{
TCHAR szBuf[80];
DWORD dw = GetLastError();
// get the most uptodate cells
_stprintf(szBuf, TEXT("CreateFile failed with error %d."), dw);
MessageBox(0, szBuf, TEXT("Error"), MB_OK);
hCom= NULL;
return -1;
}
if (!GetCommState(hCom, &dcb))
{
return -2;
}
dcb.BaudRate= CBR_115200;
dcb.ByteSize= 8;
dcb.fParity= false;
dcb.StopBits= ONESTOPBIT;
if (!SetCommState(hCom, &dcb))
{
return -3;
}
if (!EscapeCommFunction(hCom, SETDTR))
{
return -4;
}
if (!GetCommTimeouts(hCom, &to))
{
return -6;
}
to.ReadIntervalTimeout= 0;
to.ReadTotalTimeoutConstant= 200;
to.ReadTotalTimeoutMultiplier= 0;
to.WriteTotalTimeoutConstant= 20000;
to.WriteTotalTimeoutMultiplier= 0;
if (!SetCommTimeouts(hCom, &to))
{
return -7;
}
if (!SetCommMask(hCom, EV_RXCHAR))
{
return -8;
}
bufpos = 0;
strcpy(outbuf,"AT+CCED=0,5\r");
if (!WriteFile(hCom, outbuf, strlen(outbuf), &nWritten, NULL))
{
return -10;
}
if (nWritten != strlen(outbuf))
{
return -11;
}
if (!WaitCommEvent(hCom, &event, NULL))
{
return -12;
}
while(1)
{
if (!ReadFile(hCom, buf+bufpos, 256 - bufpos, &nRead, NULL))
{
return -13;
}
if (nRead == 0) // <---- it alweys break here
break;
bufpos += nRead;
if (bufpos >= 256)
break;
}
我不知道如何使用AT命令获取单元格id,但您可以使用RIL接口获取单元格id。这可能比使用AT命令更简单,除非您尝试远程获取它
您可以使用RIL_GetCellTowerInfo函数获取当前的基站id。我不知道如何使用AT命令获取基站id,但您可以使用RIL接口获取基站id。这可能比使用AT命令更简单,除非您尝试远程获取
您可以使用RIL_GetCellTowerInfo函数来获取当前的基站id。我的问题是,在某些设备上,RIL iterface方法返回E_NOTIMPL,但什么都不起作用,因此我认为我可以使用AT命令直接使用移动调制解调器拨打电话
有没有人能解决这样的问题,我已经和它斗争了一个多星期。我的问题是,在某些设备上,RIL iterface方法返回E_NOTIMPL,但什么都不起作用,所以我想我可以用AT命令直接用移动调制解调器拨打电话 有没有人能解决这样的问题,我已经为此奋斗了一个多星期。首先,请尝试LCOM9:获取CreateFile的第一个参数 查看此页面:首先,请尝试LCOM9:获取CreateFile的第一个参数
查看此页面:显然我不允许发表评论。。因此:
@塞巴斯蒂安:我在两款HTC钻石+HTC Touch Pro+ATT引信上运行Ril_GetCellTowerInfo。它适用于所有4部手机。如果您需要更多帮助,我很乐意与您分享VB.NET中的一些工作代码。显然,我不允许发表评论。。因此:
@塞巴斯蒂安:我在两款HTC钻石+HTC Touch Pro+ATT引信上运行Ril_GetCellTowerInfo。它适用于所有4部手机。如果您需要更多帮助,我很乐意与您分享VB.NET中的一些工作代码。我做到了,我成功地打开了COM9,我可以写入它,但从未得到任何响应。我做到了,我成功地打开了COM9,我可以写入它,但从未得到任何响应。我面临着完全相同的挑战。我的HTC Diamond对RIL_GetCellTowerInfo.没有响应,因此我整个星期都在搜索,试图找到获取CellID和LAC数据的解决方案。我现在很想尝试AT命令方法。你是否有幸成功获得这些信息?我也面临同样的挑战。我的HTC Diamond对RIL_GetCellTowerInfo.没有响应,因此我整个星期都在搜索,试图找到获取CellID和LAC数据的解决方案。我现在很想尝试AT命令方法。您是否有幸成功获得此信息?