还是串口通信的问题,麻烦大家了:)

cpplus 2001-11-13 01:38:01
需要发送的是混合的信息,包括字符串,回车,^z,就是下面的了:

AT+CMGS=20 <cr>
0891 683108100005F0 11000D91 683119702413F4 000000 05D4E2940A02 <ctrl-Z>

就是AT指令的参数是16进制的数据,数据的结尾是一个CTRL-Z,

中间的回车是不是 CHR(13)就可以了??

关键是前面的字符串和后面的数据怎么结合呢??

谢谢,谢谢大家了:)
...全文
146 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
moxning 2002-01-11
  • 打赏
  • 举报
回复
我也只能说你试试吧
hssfox 2002-01-11
  • 打赏
  • 举报
回复
kk
Jneu 2001-11-13
  • 打赏
  • 举报
回复
试试吧:)
cpplus 2001-11-13
  • 打赏
  • 举报
回复
这样可以吗:

string1 := "AT+CMGS=20";
string1 := string1+CHR(13); //《CR》是这个吧?

for i:=1 to LEN(string1) do //把要发送的AT指令存在数组中
begin
arrayToSend(i) := MID(string1,i,1);
end

arrayToSend(i+1):= $08; //这里把HEX的数据放进去
....
arrayToSend(i+14):= $02;
arrayToSend(i+15):= $1A; // CTRL-Z 是这个吧?

然后就发送arrayToSend 这个数组就行了吧??

不知道上面这样行吗?
Jneu 2001-11-13
  • 打赏
  • 举报
回复
AT+CMGS=20转化为ASCII码发送。
gzmhero 2001-11-13
  • 打赏
  • 举报
回复
声明一个缓冲,把数据写入到缓冲区中,在发送这个缓冲就行了。
cpplus 2001-11-13
  • 打赏
  • 举报
回复
前面的AT指令呢?怎么发送AT+CMGS=20这部分呢?

谢谢~~~
Jneu 2001-11-13
  • 打赏
  • 举报
回复
用二进制数据传输,就可以了。
cpplus 2001-11-13
  • 打赏
  • 举报
回复
就是要把
AT+CMGS=20 <cr>
0891 683108100005F0 11000D91 683119702413F4 000000 05D4E2940A02 <ctrl-Z>

这些信息发到下位机(写到串口就行了)
delphi_user 2001-11-13
  • 打赏
  • 举报
回复
不明白,在具体一些。

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧