社区
嵌入开发(WinCE)
帖子详情
求AT Command调用例子
无聊客
2006-05-26 11:19:26
以前没用过,有用过的朋友给贴段代码看看,急.
...全文
794
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)
文章转载自博客园hengfeng 高通QSC60X0 ATCoP学习小结 一,基本流程 ATCoP(AT
Command
Processor)是高通平台上对于AT命令处理的模块。基本上它遵循以下过程: 串口(sio)接收到串口发送过来的字符串--> AT
Command
Parser --> 产生一个重要的Token结构,它包含了命令名称,接收到的参数,以及
UnityMirror学习笔记(3):服务器与客户端间的函数
调用
,互发控制指令:
Command
,ClientRpc,TargetRpc
Mirror是一个简单高效的开源的Unity多人游戏网络框架。 官方文档链接: https://mirror-networking.gitbook.io/docs 从客户端发送指令由服务器
调用
API Mirror提供了一个特性
Command
来进行从客户端到服务器的远程控制指令, 它的核心逻辑就是,当客户端的脚本
调用
此特性修饰的函数时, 服务端的对应的对象执行此函数。 这意味着函数中的代码不会在客户端执行。 基本的用法是在需要进行远程
调用
的函数前编辑特性标签: [
Command
] void cmdRemot
QC_ATCop
一,基本流程
ATCoP(AT
Command
Processor)是高通平台上对于AT命令处理的模块。基本上它遵循以下过程:
串口(sio)接收到串口发送过来的字符串--> AT
Command
Parser --> 产生一个重要的Token结构,它包含了命令名称,接收到的参数,以及response的buffer--> 之后AT
Command
ProcessorProcess 通过Token里面的信息查
调用
相应的AT 命令处理函数 -->处理完成后产生相应的respo
RT-Thread学习之AT组件
AT命令简介 AT命令最早是由发明拨号调制解调器(MODEM)的贺氏公司(Hayes)为了控制MODEM而发明的控制协议。而由于MODEM速度很低,慢慢退出一般使用市场,但是AT命令保留下来。 AT 命令在此基础上演化并加入 GSM 07.05 标准以及后来的 GSM 07.07 标准,实现比较健全的标准化。 在随后的GPRS控制、3G模块等方面,均采用的AT命令来控制,AT命令逐渐在产品开发中称为实际的标准。如今AT命令也广泛地应用于嵌入式开发领域,AT命令作为主芯片和通讯模块的协议接口,硬件接口一般为串
Hystrix理论和Hystrix
Command
总结
目录 分布式系统面临的问题 hystrix简介 Hystrix能干吗 服务熔断 服务降级 dashboard简介 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。 服务雪崩 多个微服务之间
调用
的时候,假设微服务A
调用
微服务B和微服务C,微服务B和微服务C又
调用
其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微...
嵌入开发(WinCE)
19,523
社区成员
41,569
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章