`
wangpengfei360
  • 浏览: 1050455 次
文章分类
社区版块
存档分类
最新评论

写一个简单的MTK端口调试小工具

 
阅读更多

嵌入式设备大都有相互之间交流的AT指令.本文代码参考了一些百度知道里的内容,在些一并谢过.

如何能写一个工具,使用电脑给手机发送AT指令操控手机,或者用来获取手机输出.对于我们研究端口通信和AT指信原理有十分积极的意义.

这方面被人们广泛使用的有"串口调试小助手",要研究他的原理,写程序予以实现,无疑是很好的研究方法.

使用VC创建一个对话框应用程序,命名为:MYCOMM

在对话框添加两个按钮,一个发送,一个接收.再添加一个EDIT编辑框,设置编辑框变量为CString m_disp.设置按键事件为void CMYCOMMDlg::OnSend和void CMYCOMMDlg::OnReceive(),然后定义一个端口句柄HANDLE hCom;

在对话框初始化事件BOOL CMYCOMMDlg::OnInitDialog()中添加端口初始化代码:

在SEND按键中添加如下代码:

在RECEIVE按键中添加如下代码:

为对话框添加CLOSE消息.在该消息中添加关闭端口处理:

就这么一些了,只要有下载线,就可以实现给你的MTK手机发AT指令了,本例在SEND按键的函数里只举了一个AT指令的例子,其实还有许多其他的AT指令,有兴趣的朋友可以自己试验.当然最好是创建一个EDIT用于输出,再搞一个TIMER用于不停从端口读数据.工作忙,未作完善.有机会一定奉上完善代码.附MTK的AT指令集:

AT< CR>

< LF> OK < LF>

ATTEST< CR>

< CR> ERROR < LF>

如果AT指令执行成功,“OK”字符串返回;

如果AT 指令语法错误或AT 指令执行失败,

“ERROR”字符串返回。

AT指令集的一般命令

1、 AT+CGMI 给出模块厂商的标识。

2、 AT+CGMM 获得模块标识。这个命令用来得到支持的频带(GSM 900,DCS 1800 或PCS 1900)。当模块有多频带时,回应可能是不同频带的结合。

3、 AT+CGMR 获得改订的软件版本。

4、 AT+CGSN 获得GSM模块的IMEI(国际移动设备标识)序列号。

5、 AT+CSCS 选择TE特征设定。这个命令报告TE用的是哪个状态设定上的ME。ME于是可以转换每一个输入的或显示的字母。这个是用来发送、读取或者撰写短信。

6、 AT+WPCS 设定电话簿状态。这个特殊的命令报告通过TE电话簿所用的状态的ME。ME于是可以转换每一个输入的或者显示的字符串字母。这个用来读或者写电话簿的入口。

7、 AT+CIMI 获得IMSI。这命令用来读取或者识别SIM卡的IMSI(国际移动签署者标识)。在读取IMSI之前应该先输入PIN(如果需要PIN的话)。


8、 AT+CCID 获得SIM卡的标识。这个命令使模块读取SIM卡上的EF-CCID文件。

9、 AT+GCAP 获得能力表。(支持的功能)

10、A/ 重复上次命令。只有A/命令不能重复。这命令重复前一个执行的命令。

11、AT+CPOF 关机。这个特殊的命令停止GSM软件堆栈和硬件层。命令AT+CFUN=0的功能与+CPOF相同。

12、AT+CFUN 设定电话机能。这个命令选择移动站点的机能水平。

13、AT+CPAS 返回移动设备的活动状态。

14、AT+CMEE 报告移动设备的错误。这个命令决定允许或不允许用结果码“+CME ERROR:”或者“+CMS ERROR:”代替简单的“ERROR”。

15、AT+CKPD 小键盘控制。仿真ME小键盘执行命令。

16、AT+CCLK 时钟管理。这个命令用来设置或者获得ME真实时钟的当前日期和时间。

17、AT+CALA 警报管理。这个命令用来设定在ME中的警报日期/时间。(闹铃)

18、AT+CRMP 铃声旋律播放。这个命令在模块的蜂鸣器上播放一段旋律。有两种旋律可用:到来语音、数据或传真呼叫旋律和到来短信声音。

19、AT+CRSL 设定或获得到来的电话铃声的声音级别。</p< />

以下是AT指令集:

ASCI码指令
功能
手机回答

AT回车
握手
OK

ATE
简化显示
OK

AT+CLCC
来电显示
OK 来电话时串口输出:RING

AT+CLCC

+CLCC: 1,1,4,0,0,"05133082087",129

AT+CNMI=1,1,2
设置收到短消息提示
OK

+CMTI:“SM”,4

4表示手机内短消息数量

ATD05133082087;
拨打05133082087电话

AT+CMGL=0
读取电话上全部未读过的SMS消息

AT+CMGL=2
列出已有的短信息

AT+CMGL=4
读取全部SMS消息

AT+CMGR=X回车
读取第X条短消息

AT+CMGF=0回车
用PDU格式


AT+CMGD=X回车
删除第X条短消息


AT+CLIP=1,1
来电自动显示的指令
ERROR

来电话!

RING +CLIP: 13306285091,129

AT+CMGS=6
发送短消息的字节数
>

0891683108503105F011000B8131032

65890F10008A90C665A4E0A597D00

3100320033
1A 结束符号

十六进制大写
+CMGS: 45

OK

第45条短信发送成功!!!!!!

AT+CMGR=1
读取第1条短信
0:未读过,新的短信息

1:已读过

第二个1表示已读

150 表示PDU数据的长度

1 表示读取第几条短信
+CMGR: 1,1,,150

AT指令

一、一般命令

AT+CGMI
给出模块厂商的标识。 SONY ERICSSON

AT+CGMM
获得模块标识。这个命令用来得到支持的频带(GSM900,DCS1800或PCS1900)。当模块有多频带时,回应可能是不同频带的结合。 AAB-1021011-CN

AT+CGMR
获得改订的软件版本。 R6C005 CXC125582 CHINA 1

AT+CGSN
获得GSM模块的IMEI(国际移动设备标识)序列号。351254004238596

AT+CSCS
选择TE特征设定。这个命令报告TE用的是哪个状态设定上的ME。ME于是可以转换每一个输入的或显示的字母。这个是用来发送、读取或者撰写短信。

AT+CSCS?
+CSCS: "GSM"

AT+WPCS
设定电话簿状态。这个特殊的命令报告通过TE电话簿所用的状态的ME。ME于是可以转换每一个输入的或者显示的字符串字母。这个用来读或者写电话簿的入口。

NONE

AT+CIMI
获得IMSI。这命令用来读取或者识别SIM卡的IMSI(国际移动签署者标识)。在读取IMSI之前应该先输入PIN(如果需要PIN的话)。
460001711603161

AT+CCID
获得SIM卡的标识。这个命令使模块读取SIM卡上的EF-CCID文件。

NONE

AT+GCAP
获得能力表。(支持的功能)+GCAP: +FCLASS, +CGSM, +DS

A/
重复上次命令。只有A/命令不能重复。这命令重复前一个执行的命令。

AT+CPOF
关机。这个特殊的命令停止GSM软件堆栈和硬件层。命令AT+CFUN=0的功能与+CPOF相同。

AT+CFUN
设定电话机能。这个命令选择移动站点的机能水平。

AT+CPAS
返回移动设备的活动状态。

AT+CMEE
报告移动设备的错误。这个命令决定允许或不允许用结果码“+CMEERROR:”或者“+CMSERROR:”代替简单的“ERROR”。

AT+CKPD
小键盘控制。仿真ME小键盘执行命令。

AT+CCLK
时钟管理。这个命令用来设置或者获得ME真实时钟的当前日期和时间。

AT+CCLK?
+CCLK: "04/08/12,17:00:42+32"

AT+CALA
警报管理。这个命令用来设定在ME中的警报日期/时间。(闹铃)
AT+CALA=?
+CALA: (1-2),(),(),(13),()

AT+CRMP
铃声旋律播放。这个命令在模块的蜂鸣器上播放一段旋律。有两种旋律可用:到来语音、数据或传真呼叫旋律和到来短信声音。

AT+CRSL
设定或获得到来的电话铃声的声音级别。NONE

二、呼叫控制命令

ATD
拨号命令。这个命令用来设置通话、数据或传真呼叫。

ATH
挂机命令。

ATA
接电话。

AT+CEER
扩展错误报告。这个命令给出当上一次通话设置失败后中断通话的原因。

AT+VTD
给用户提供应用GSM网络发送DTMF(双音多频)双音频。这个命令用来定义双音频的长度(默认值是300毫秒)。

AT+VTS
给用户提供应用GSM网络发送DTMF双音频。这个命令允许传送双音频。

ATDL
重拨上次电话号码。

AT%Dn
数据终端就绪(DTR)时自动拨号。

ATS0
自动应答。

AT+CICB
来电信差。

AT+CSNS
单一编号方案。

AT+VGR

AT+VGT
增益控制。这个命令应用于调节喇叭的接收增益和麦克风的传输增益。

AT+CMUT
麦克风静音控制。

AT+SPEAKER
喇叭/麦克风选择。这个特殊命令用来选择喇叭和麦克风。

AT+ECHO
回音取消。

AT+SIDET
侧音修正。

AT+VIP
初始化声音参数。

AT+DUI
用附加的用户信息拨号。

AT+HUI
用附加的用户信息挂机。

AT+RUI
接收附加用户信息。

三、网络服务命令

AT+CSQ
信号质量。+CSQ: 17,99

AT+COPS
服务商选择。
AT+COPS?

+COPS: 0,0,"China Mobile"

AT+CREG
网络注册。获得手机的注册状态。

AT+CREG?

+CREG: 0,1

AT+WOPN
读取操作员名字。NONE

AT+CPOL
优先操作员列表。NONE

四、安全命令

AT+CPIN
输入PIN。

AT+CPIN2
输入PIN2。

AT+CPINC
PIN的剩余的尝试号码。

AT+CLCK
设备锁。

AT+CPWD
改变密码。

五、电话簿命令

AT+CPBS
选择电话簿记忆存储。

AT+CPBS?

+CPBS: "SM"

AT+CPBR
读取电话簿表目。

AT+CPBF
查找电话簿表目。

AT+CPBW
写电话簿表目。

AT+CPBP
电话簿电话查询。

AT+CPBN
电话簿移动动作。这个特殊命令使电话簿中的条目前移或后移(按字母顺序)

AT+CNUM
签署者号码。

AT+WAIP
防止在下一次重起时初始化所有的电话簿。

AT+WDCP
删除呼叫电话号码。NONE

AT+CSVM
设置语音邮件号码。

六、短消息命令

AT+CSMS
选择消息服务。支持的服务有GSM-MO、SMS-MT、SMS-CB。

AT+CNMA
新信息确认应答。

AT+CPMS
优先信息存储。这个命令定义用来读写信息的存储区域。

AT+CMGF
优先信息格式。执行格式有TEXT方式和PDU方式。

AT+CSAS
保存设置。保存+CSAS和+CSMP的参数。

AT+CRES
恢复设置。

AT+CSDH
显示文本方式的参数。

AT+CNMI
新信息指示。这个命令选择如何从网络上接收短信息。

AT+CMGR
读短信。信息从+CPMS命令设定的存储器读取。

AT+CMGL
列出存储的信息。

AT+CMGS
发送信息。

AT+CMGW
写短信息并存储。

AT+CMSS
从存储器中发送信息。

AT+CSMP
设置文本模式的参数。

AT+CMGD
删除短信息。删除一个或多个短信息。

AT+CSCA
短信服务中心地址。

AT+CSCB
选择单元广播信息类型。

AT+WCBM
单元广播信息标识。

AT+WMSC
信息状态(是否读过、是否发送等等)修正。

AT+WMGO
信息覆盖写入。

AT+WUSS
不改变SMS状态。在执行+CMGR或+CMGL后仍保持UNREAD。

七、追加服务命令

AT+CCFC
呼叫继续。

AT+CLCK
呼叫禁止。

AT+CPWD
改变追加服务密码。

AT+CCWA
呼叫等待。

AT+CLIR
呼叫线确认限制。

AT+CLIP
呼叫线确认陈述。

AT+COLP
联络线确认陈述。

AT+CAOC
费用报告。

AT+CACM
累计呼叫计量。

AT+CAMM
累计呼叫计量最大值。

AT+CPUC
单价和货币表。

AT+CHLD
呼叫相关的追加服务。

AT+CLCC
列出当前的呼叫。

AT+CSSN
追加服务通知。

AT+CUSD
无组织的追加服务数据。

AT+CCUG
关闭的用户组。

八、数据命令

AT+CBST
信差类型选择。

AT+FCLASS
选择模式。这个命令把模块设置成数据或传真操作的特殊模式。

AT+CR
服务报告控制。这个命令允许更为详细的服务报告。

AT+CRC
划分的结果代码。这个命令在呼叫到来时允许更为详细的铃声指示。

AT+ILRR
本地DTE-DCE速率报告。

AT+CRLP
无线电通信线路协议参数。

AT+DOPT
其他无线电通信线路参数。

AT%C
数据压缩选择。

AT+DS
是否允许V42二度数据压缩。

AT+DR
是否报告V42二度数据压缩。

AT/N
数据纠错选择。

九、传真命令

AT+FTM
传送速率。

AT+FRM
接收速率

AT+FTH
用HDLC协议设置传真传送速率。

AT+FRH
用HDLC协议设置传真接收速率。

AT+FTS
停止特定时期的传送并等待。

AT+FRS
接收沉默。

十、第二类传真命令

AT+FDT
传送数据。

AT+FDR
接收数据。

AT+FET
传送页标点。

AT+FPTS
页转换状态参数。

AT+FK
终止会议。

AT+FBOR
页转换字节顺序。

AT+FBUF
缓冲大小报告。

AT+FCQ
控制拷贝质量检验。

AT+FCR
控制接收传真的能力。

AT+FDIS
当前会议参数。

AT+FDCC
设置DCE功能参数。

AT+FLID
定义本地ID串。

AT+FPHCTO
页转换超时参数。

十一、V24-V25命令

AT+IPR
确定DTE速率。

AT+ICF
确定DTE-DCE特征结构。

AT+IFC
控制DTE-DCE本地流量。

AT&C
设置DCD(数据携带检测)信号。

AT&D
设置DTR(数据终端就绪)信号。

AT&S
设置DST(数据设置就绪)信号。

ATO
回到联机模式。

ATQ
决定手机是否发送结果代码。

ATV
决定DCE响应格式。

ATZ
恢复为缺省设置。

AT&W
保存设置。

AT&T
自动测试。

ATE
决定是否回显字符。

AT&F
回到出厂时的设定。

AT&V
显示模块设置情况。

ATI
要求确认信息。这命令使GSM模块传送一行或多行特定的信息文字。

AT+WMUX
数据/命令多路复用。

十二、特殊AT命令

AT+CCED
电池环境描述。

AT+CCED
自动RxLev指示。

AT+WIND
一般指示。

AT+ALEA
在ME和MSC之间的数据密码模式。

AT+CRYPT
数据密码模式。

AT+EXPKEY
键管理。

AT+CPLMN
在PLMN上的信息。

AT+ADC
模拟数字转换度量。

AT+CMER
移动设备事件报告。这个命令决定是否允许在键按下时是否主动发送结果代码。

AT+WLPR
读取语言偏好。

AT+WLPW
写语言偏好。

AT+WIOR
读取GPIO值。

AT+WIOW
写GPIO值。

AT+WIOM
输入/输出管理。

AT+WAC
忽略命令。这个特殊命令允许忽略SMS、SS和可用的PLMN。

AT+WTONE
播放旋律。

AT+WDTMF
播放DTMF旋律。

AT+WDWL
下载模式。

AT+WVR
配置信差的声音速率。

AT+WDR
配置数据速率。

AT+WHWV
显示硬件的版本。

AT+WDOP
显示产品的出厂日期。

AT+WSVG
声音增益选择。

AT+WSTR
返回指定状态的状态。

AT+WSCAN
扫描。

AT+WRIM
设置或返回铃声指示模式。

AT+W32K
是否允许32kHz掉电方式。

AT+WCDM
改变缺省旋律。

AT+WSSW
显示内部软件版本。

AT+WCCS
编辑或显示订制性质设置表。

AT+WLCK
允许在特定的操作符上个性化ME。

AT+CPHS
设置CPHS命令。

AT+WBCM
电池充电管理。

AT+WFM
特性管理。是否允许模块的某些特性,如带宽模式、SIM卡电压等。

AT+WCFM
商业特性管理。是否允许Wavecom特殊特性。

AT+WMIR
允许从当前存储的参数值创建定制的存储镜像。

AT+WCDP
改变旋律的缺省播放器。

AT+WMBN
设置SIM卡中的不同邮箱号码。

十三、SIM卡工具箱命令

AT+STSF
配置工具箱实用程序。

AT+STIN
工具箱指示。

AT+STGI
获得从SIM卡发来的预期命令的信息。

AT+STCR
主动提供的结果:工具箱控制反应。

AT+STGR
给出响应。允许程序或用户从主菜单上选择项目,或响应某些命令。


GSM07.05
Function(功能)

ATE0
RESET

AT+CSMS
选择短信息服务

AT+CPMS
选择短信息内存

AT+CMGF
选择短信息格式

AT+CSCA
短信息中心地址

AT+CNMI
显示新收到的短信息

AT+CMGR
读短信息

AT+CMGS
发送短信息

AT+CMGL
列出SIM卡中短信息

AT+CMSS
从SIM内存中发短信息

AT+CMGW
向SIM内存中写入待发短信息

AT+CMGD
删除SIM内存中的短信息

AT+CSCB
选择蜂窝广播信息

.设置短消息中心

AT+CSCA=“+8613800270500”回车(具体的号码由当地的运营商决定。)

ATZ;E 回车 Echo OFF

ATZ;E1回车 Echo ON

AT+CREG?回车 回答x(X=2脱网,X=1注册,X=0状态不明)

AT+COPS?回车 表示SIM卡是否被网络接受

AT+COPS=?回车 显示所有可用的网络。

5.建立语音呼叫

AT+CREG?回车(是否网络注册)

ATD13xxxxxxxxx;回车(语音呼叫和数据呼叫建立的区别在于号码后所接的分号上)

6.改变并保存参数

AT+IPR=2400 回车(改变RS232口的速率至2400bps)

AT&W 回车 (保存已改参数)

7.输入PIN码

AT+CPIN=“xxxx”

声明:

本文受著作权法保护,严禁转载,违者必究!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics