发表于:2008-07-16 16:27:50
楼主
利用PLC单片机之类的来做短信开发工作:
首先是初始化的工作,每次重新上电以后必须初始化:
1.选择协议,一般采用不经过SIM存储而直接显示
write:
AT+CSMS=1(回车)
41 54 2B 43 53 4D 53 3D 31 0D
read:
+CSMS: 1,1,1 OK
0D 0A 2B 43 53 4D 53 3A 20 31 2C 31 2C 31 0D 0A 0D 0A 4F 4B 0D 0A
2.设置短信自动显示,不经过SIM卡存储
write:
AT+CNMI=2,2,0,0,1(回车)
41 54 2B 43 4E 4D 49 3D 32 2C 32 2C 30 2C 30 2C 31 0D
read:
OK
0D 0A 4F 4B 0D 0A
3.选择发送模式(TEST 为1,PDU为0)
write:
AT+CMGF=1(回车)
41 54 2B 43 4D 47 46 3D 31 0D
read:
OK
0D 0A 4F 4B 0D 0A
4.输入被叫手机号码
write:
AT+CMGS="8613950072081"(回车)
41 54 2B 43 4D 47 53 3D 22 38 36 31 33 39 35 30 30 37 32 30 38 31 22 0D
read:
>
0D 0A 3E 20
5.发送数据
write:
123456789ABCDEFG(CTRL+Z)
31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 1A
read:
+CMGS:147 OK
0D 0A 2B 43 4D 47 53 3A 20 31 34 37 0D 0A 0D 0A 4F 4B 0D OA
6.自动接收短信:
0D 0A 2B 43 4D 54 3A 20 22 2B 38 36 31 33 39 35 ..+CMT: "+861395
30 30 37 32 30 38 31 22 2C 2C 22 30 35 2F 31 31 0072081",,"05/11
2F 32 38 2C 30 39 3A 34 32 3A 33 36 2B 33 32 22 /28,09:42:36+32"
0D 0A 31 32 33 34 35 36 37 38 39 30 41 42 43 44 ..1234567890ABCD
45 46 47 0D 0A EFG..
7.回复:(选择自动接收短信,在短信自动显示后6秒内必须回复AT+CNMA)
write:
AT+CNMA(回车)
read:
OK
0D 0A 4F 4B 0D 0A
另外,每次write之间必须间隔一段时间,一般500MS左右,具体时间以测试为准,尽量间隔时间长一
点点.建议每次write后等待并捕捉read,通过捕捉后的read来判断当前状态.