社区
嵌入开发(WinCE)
帖子详情
求AT Command调用例子
无聊客
2006-05-26 11:19:26
以前没用过,有用过的朋友给贴段代码看看,急.
...全文
785
14
打赏
收藏
求AT Command调用例子
以前没用过,有用过的朋友给贴段代码看看,急.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nettman
2006-05-30
打赏
举报
回复
直接通过串口发字符串就可以了!
samp_miao
2006-05-30
打赏
举报
回复
pda上的例子我找不到了。这个是我pc上的例子,pda上不支持overlapped。你改下就好了。
DCB dcb;
COMMTIMEOUTS timeouts = {MAXDWORD, 0, 110, 0, 20};
hCom = CreateFile(L"COM1",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL);
if (INVALID_HANDLE_VALUE == hCom)
{
return FALSE;
}
GetCommState(hCom, &dcb);
dcb.BaudRate = 115200;
dcb.ByteSize = 8;
dcb.StopBits = ONESTOPBIT;
dcb.Parity = NOPARITY;
SetCommState(hCom, &dcb);
SetupComm(hCom, 4096, 1024);
SetCommTimeouts(hCom, &timeouts);
SetCommMask(hCom,EV_RXCHAR);
DWORD dwNumWrite;
if(!WriteFile(hCom, pData, (DWORD)nLength, &dwNumWrite, &overlapped_write))
{
;
}
COMSTAT ComStat;
ClearCommError( hCom, &dwErrorFlags, &ComStat );
if( !ComStat.cbInQue ) return 0;
nLength = min(nLength,(DWORD) ComStat.cbInQue);
if(!ReadFile(hCom, pData, (DWORD)nLength, &dwNumRead, &overlapped_read))
{
}
CloseHandle(hCom);
samp_miao
2006-05-30
打赏
举报
回复
pda上的例子我找不到了。这个是我pc上的例子,pda上不支持overlapped。你改下就好了。
DCB dcb;
COMMTIMEOUTS timeouts = {MAXDWORD, 0, 110, 0, 20};
hCom = CreateFile(L"COM1",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL);
if (INVALID_HANDLE_VALUE == hCom)
{
return FALSE;
}
GetCommState(hCom, &dcb);
dcb.BaudRate = 115200;
dcb.ByteSize = 8;
dcb.StopBits = ONESTOPBIT;
dcb.Parity = NOPARITY;
SetCommState(hCom, &dcb);
SetupComm(hCom, 4096, 1024);
SetCommTimeouts(hCom, &timeouts);
SetCommMask(hCom,EV_RXCHAR);
DWORD dwNumWrite;
if(!WriteFile(hCom, pData, (DWORD)nLength, &dwNumWrite, &overlapped_write))
{
;
}
COMSTAT ComStat;
ClearCommError( hCom, &dwErrorFlags, &ComStat );
if( !ComStat.cbInQue ) return 0;
nLength = min(nLength,(DWORD) ComStat.cbInQue);
if(!ReadFile(hCom, pData, (DWORD)nLength, &dwNumRead, &overlapped_read))
{
}
CloseHandle(hCom);
samp_miao
2006-05-30
打赏
举报
回复
CreateFile,writefile,等。打开com口之后,写个at指令就可以了,然后等收到返回时候读com数据然后分析解码就可以了。
befree
2006-05-29
打赏
举报
回复
只是at拔号挺简单,建立连接后用协议传输可以用一些做好的控件
universes
2006-05-29
打赏
举报
回复
mark
载舟之水
2006-05-26
打赏
举报
回复
画个图可以说清楚
PPC/SP智能手机架构
[应用处理器/存储器/WinCE OS]-------(串口)---------[GSM模块OS/GSM协议栈/处理器/存储器]
智能手机一般是双处理器的,两部分之间通过串口连接。所以通过PC串口发AT不行,因为唯一的串口已经被连接到[应用处理器]这端了。必须通过[应用处理器]这端的应用程序去访问串口,但是同时必须通过修改注册表,把RIL占用的串口改掉。如果是WINCE的话就没这个占用的问题,直接访问串口就行。
要通过
一般手机架构
[GSM模块OS/GSM协议栈/处理器/存储器]
一般手机只要开放了串口,可以通过PC串口连接,AT command去访问手机
载舟之水
2006-05-26
打赏
举报
回复
文档里有标准命令,但是要看你的号码是存放在模块的存储器还是在应用处理器这边。
智能手机一般是双CPU架构的,所以有两个地方可以存储,而普通手机只能存储在模块这端或卡里。
无聊客
2006-05-26
打赏
举报
回复
其实我就是想通过AT命令拿一下手机本机号码而已
载舟之水
2006-05-26
打赏
举报
回复
你首先要明确你使用的通信模块是什么的,最好有模块的开发文档,不然遇到问题不好解决
载舟之水
2006-05-26
打赏
举报
回复
哦,那其实很简单,你在程序中打开串口,设好波特率,要和GSM模块对应,然后你首先要设置模块的基本配置,比如关闭回显E0,关闭Multiplexer模式AT+CMUX,设好初始化参数之后,就可以使用一般的AT了。你要GSM协议是符合3GPP的,但是不同模块有所不同,AT Command区别一般不大,区别主要在Multiplexer模式上。你要GSM的标准文档我可以发给你。
发送给串口的信息就是字符,比如
ATD1860; 是拨打1860
这时模块通过串口会回应 [回车][换行]OK[回车][换行]
我给你看看一些LOG
ResponseThread Before VirtWaitCommEvent
RilDrv: Sending cmd: AT+CHLD=0<cr>
RilDrv: Accumulated response: <cr><lf>+CME ERROR: 3<cr><lf>
ResponseThread Before VirtWaitCommEvent
RilDrv: Sending cmd: AT+CPAS<cr>
RilDrv: Accumulated response: <cr><lf>+CPAS: 0<cr><lf><cr><lf>OK<cr><lf>
ResponseThread Before VirtWaitCommEvent
RilDrv: Sending cmd: AT+CLCC<cr>
RilDrv: Accumulated response: <cr><lf>OK<cr><lf>
ResponseThread Before VirtWaitCommEvent
RilDrv: Sending cmd: AT+CLCC<cr>
RilDrv: Accumulated response: <cr><lf>OK<cr><lf>
ResponseThread Before VirtWaitCommEvent
RilDrv: Sending cmd: AT+CMUT?<cr>
RilDrv: Accumulated response: <cr><lf>+CMUT: 0<cr><lf><cr><lf>OK<cr><lf>
ResponseThread Before VirtWaitCommEvent
RilDrv: Sending cmd: AT+CSQ<cr>
RilDrv: Accumulated response: <cr><lf>+CSQ: 17,99<cr><lf><cr><lf>OK<cr><lf>
ResponseThread Before VirtWaitCommEvent
RilDrv: Sending cmd: AT+CSQ<cr>
RilDrv: Accumulated response: <cr><lf>+CSQ: 17,99<cr><lf><cr><lf>OK<cr><lf>
ResponseThread Before VirtWaitCommEvent
RilDrv: Sending cmd: AT+CSQ<cr>
无聊客
2006-05-26
打赏
举报
回复
我是指通过串口。。。。。。。
这块以前都没接触过
载舟之水
2006-05-26
打赏
举报
回复
不明白你的意思,RIL driver和GSM协议栈我都做过一些,但是在应用里没法通过RIL去发送AT,只能通过串口。
QUALCOMM_ATCoP(AT
Command
Processor)
ATCoP(AT
Command
Processor)是高通平台上对于AT命令处理的模块。基本上它遵循以下过程: 串口(sio)接收到串口发送过来的字符串--> AT
Command
Parser --> 产生一个重要的Token结构,它包含了命令名称,接收...
UnityMirror学习笔记(3):服务器与客户端间的函数
调用
,互发控制指令:
Command
,ClientRpc,TargetRpc
从客户端发送指令由服务器
调用
API Mirror提供了一个特性
Command
来进行从客户端到服务器的远程控制指令, 它的核心逻辑就是,当客户端的脚本
调用
此特性修饰的函数时, 服务端的对应的对象执行此函数。 这意味着函数...
RT-Thread学习之AT组件
AT命令简介 AT命令最早是由发明拨号调制解调器(MODEM)的贺氏公司(Hayes)为了控制MODEM而发明的控制协议。而由于MODEM速度很低,慢慢退出一般使用市场,但是AT命令保留下来。 AT 命令在此基础上演化并加入 GSM 07.05 ...
Hystrix理论和Hystrix
Command
总结
目录 分布式系统面临的问题 hystrix简介 ...多个微服务之间
调用
的时候,假设微服务A
调用
微服务B和微服务C,微服务B和微服务C又
调用
其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微...
CMake I add_custom_
command
命令详解(构建)
add_custom_
command
向目标添加规则,并通过执行命令生成指定输出的文件。
嵌入开发(WinCE)
19,519
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章