开发CDMA无线Modem发短信的程序,按照anyData提供的步骤
设置了smmg=1,smsp=0x85,fset=0x204,监测到smss=3(接收状态),
按照扩充短信格式编写了短信格式,编成Byte放到Pchar里,
用Spcomm发出,可是发完以后再监测smss,一直都是3.在发完短信后发送#26(Ctrl+z),
Smss还是3.又在发完短信后发送#13#10(回车换行),Smss还是3,到底怎样才能正确发送,
请高手指点!
设置了smmg=1,smsp=0x85,fset=0x204,监测到smss=3(接收状态),
按照扩充短信格式编写了短信格式,编成Byte放到Pchar里,
用Spcomm发出,可是发完以后再监测smss,一直都是3.在发完短信后发送#26(Ctrl+z),
Smss还是3.又在发完短信后发送#13#10(回车换行),Smss还是3,到底怎样才能正确发送,
请高手指点!
解决方案 »
- 关于WebBrowser代理设置的文艺!有经验的大侠来帮忙小弟十分感谢
- webbrowser socket 问题
- 菜鸟请教~关于递归的问题~~~!在线等待~~!
- themeengine问题,高手一定要近来,来者有分。(分不够再加)
- 如何判断一个父节点的子节点是否已存在?
- 用Delphi连接Sqlserver200怎么实现呢?
- 关于档案管理的问题!
- 软件试用,提意见有分!
- 如果在备份单机版数据库时(copyfile函数),由于目标文件事先并不存在,这样先用if not fileexits then 判断,但是假如判断后,没有目标
- waveOutGetVolume 这个函数如何调用?
- 想实现一个每行长度不一样的数组,如何实现?
- 能不能给panel加个滚动条啊
如果你用的是AT*SKT来发短信的话,这种指令是无法完成非可见字符的。
现在倒是能发出了,不用加#26(Ctrl+z),也不用加#13#10(回车换行),
由于anyData资料中要求每发10个字节要停20毫秒,所以我就在每10个字节处停了
10毫秒,为了保险,又在每字节发完后停1毫秒,正是由于停了这1毫秒导致发不出去。
但是现在我发出后,用Smss监测返回总是2(失败),什么原因导致失败?信号不好
还是其他原因。
procedure TfrmMain.WriteComm (s : string);
var
sLen : integer;
begin
s := s + #$d + #$a;
sLen := Length (s);
comm.WriteCommData(@s[1],sLen);
end;
快,容易丢失部分数据,造成的后果是数据不完整或发送错误数据,特别是在发
送比较大的SMS 时很容易发生。简单的解决方法是在往串口输送数据时每发送若
干字节后停顿一小会。建议每发送10 个字节后停顿20ms.
现在怎么发送都是失败(返回2),手机号码绝对没有问题,倒是发成功过,就成
功过1条,手机收到信息什么内容都没有。
成功率会很底的。交换机那边不一定忙得过来。up.
attention