关于at指令的问题(用gsm modem发短信)(1000分)(100分)

  • 主题发起人 主题发起人 ljf945
  • 开始时间 开始时间
L

ljf945

Unregistered / Unconfirmed
GUEST, unregistred user!
在机器的串口上加一个gsm modem可以用at指令发短信。

但在程序中如何用,厂商没有接口,只有at命令。
at命令如何在程序中用呢?
谁做过类似的东西,请赐教。
 
对Modem进行编程控制是通过与其连接的串口进行的(内置式Modem有虚拟串口),
因此你只要对串口进行编程即可解决。这个真的很简单。
打开串口,然后发送AT开头的字符串作为Modem控制命令(即AT命令),通过
判断接收到的字符串处理Modem响应。
 
多谢,我先试一试。
 
谁做过类似的发短信的东西,
可不可以贴一段代码。
 
以前有很多类似的话题,找找吧。
 
我一查找就报下面的错误,没法查找以前的帖子。

运行期错误。
行,15
缺少对象。

 
就是向串口写AT命令字符串而已
有两样要注意
  1、普通命令以#13#10结束
  2、at+cmgs="+86123456"#13#10后的是短信内容,以#26结束
(以上为文本模式)
 
找一些相关的资料看看。
+++ 转换Modem 到指令状态。
—————————————————————————————
AT Commands

A Answer Command
Bn Communications Options
D Dial Command
En Select Command Character Echo Option
Hn Control The Switchhook
I0 Identify The Product Code
I2 Perform ROM Checksum Test
I7 Version Number
Ln Select Speaker Volume Level
Mn Select Speaker Function Option
Nn Select Negotiate Handshake Option
On Go Online Command
P Select Pulse Dialing Method
Qn Select Result Code Option
Sn= Write To An S-Register
Sn? Read An S-Register
T Select Tone Dialing Method
Vn Select Response Format Option
Wn Select Extended Result Code
Xn Select Call Progress Option
Yn Select Long Space Disconnect Option
Zn Perform Soft Reset
&An Select Originate/Answer Role For Autoanswer
&Cn Select Data Carrier Detect Option
&Dn Select Data Terminal Ready Option
&F Load Factory Default Profile
&Gn Select Guard Tone Option
&Kn Select Flow ConTDol Option
&Pn Select Pulse Dialing Parameters
&Qn Select Communications Mode Option
&Rn Select RTS/CTS Option
&Sn Select Data Set Ready Option
&T0 Terminate Test In Process
&T1 Initiate Local Analog Loopback
&T3 Perform Local Digital Loopback
&T4 Enable Granting Of RDL Requests
&T5 Deny Granting Of RDL Requests
&T6 Initiate Remote Digital Loopback
&T7 Initiate RDL With Self Test
&T8 Local Loopback With Self Test
&T19 Perform RTS/CTS Cable Test
&Un Disable TDellis Coding
&V View Configuration Profiles
&Wn Store Active Profile
&Xn Select Sync TDansmit Clock Source
&Yn Select Stored Profile For Hard Reset
&Zn= Store Telephone Number
, Perform Pause
= Write To An S-Register
? Read An S-Register
P Select Pulse Dialing
T Tone

S-Registers

S0 Ring After Which To Answer
S1 Ring Count
S2 Hayes Escape Character
S3 Carriage Return Character
S4 Line Feed Character
S5 Backspace Character
S6 Wait Before Blind Dialing
S7 Wait For Carrier
S8 Pause Time For Comma
S9 Carrier Recovery Time
S10 Lost Carrier Hang Up Delay
S11 DTMF Dialing Speed
S12 Hayes Escape Guard Time
S16 Test in Progress
S18 Modem Test Timer
S19 AutoSync Options
S25 Detect DTD Change
S26 RTS To CTS Delay Interval
S30 Inactivity Timeout
S31 XON Character
S32 XOFF Character
S36 Negotiation Failure TDeatment
S37 Desired DCE Line Speed
S38 Hang-up Timeout
S43 Current Line Speed
S44 Framing Technique
S46 Protocol/Compression Selection
S48 Feature Negotiation Action
S49 Buffer Low Limit
S50 Buffer High Limit
S70 Maximum Number of ReTDansmissions
S73 No Activity Timeout
S82 Break Selection
S86 Connection Failure Cause Code
S91 Select Dial-up Line TDansmit Level
S95 Extended Result Code Bit Map
S97 V.32 Late Connecting Handshake Timing
S105 Frame Size
S108 Signal Quality Selector
S109 Carrier Speed Selector
S110 V.32/V.32 bis Selector
S113 Calling Tone ConTDol
S121 Use of DTD
S141 Detection Phase Timer
S142 Online Character Format
S144 Autobaud Speed Group Selection
 
感谢各位。
 
是的,你应该可以找到好多相关信息的,在搜索引擎中查查吧!
 
不好意思,拖了好久。

奇怪的是,命令后加#13#10,有的不成。

发pdu信息时,有的改成加#10#13才成。

谢谢各位。其他人的分,我另开贴。
 
一千分
akaiwei-25,jrq-25,磊-25,秋之叶-25
叮叮当当-600
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1073640
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1073641
xiao_min-300
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1073688
合计1000
感谢各位。
 
没想到我人跟我开发一个一样的东本西,哈哈,我也做了一个这样的东本。可以聊聊啊。
 
发短信等手机通讯有三种方式:
1.移动、联通网关,一般是通过宽带网连接
2.通过在163、sohu、sina等网站注册手机,编写程序来发送短信
3.红外或串口与手机通信,分Text和PDU两种传送模式。其中,Nokia手机还可以分为需要数据套件、免数据套件(二进制)两种方式。
我的主页上有后两种Demo程序及源代码。http://wenjinshan.wx-e.com/index2.htm
 
后退
顶部