串口发送数据问题

KissApple 2006-03-16 09:27:39
指令如下(Text方式,只能发送英文字符):
AT+CMGF=1<CF>
等待接收OK
AT+CMGS=”目标手机号码”<CF>
短信文本<Ctrl+Z>
等待接收OK

具体如何发送数据我会,但是我不太明白该发送什么,好象是用十六进制发送的吧?
那么CF怎么发?
Ctrl+Z怎么发?
AT+CMGF=1是不是发送AT然后跟上CMGF=1的十六进制,该怎么转换?
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qjzrd 2006-03-17
  • 打赏
  • 举报
回复
建议使用相应的ascii码
KissApple 2006-03-17
  • 打赏
  • 举报
回复
刚刚问了做硬件的,他跟我说CF是回车换行的意思,那么我要在串口中发送什么呢?发vbcrlf?
davysnet 2006-03-17
  • 打赏
  • 举报
回复
ctrl+z是一个结束符,具体用什么符号表示的忘记了,但是在命令行方式的状态下,可以结束当前正在进行的命令

我认为在这个程序中,发送的应该是字符,由接收方自动判断你输入的命令。

好多串口通讯都是使用的这种方式
benyfeifei 2006-03-17
  • 打赏
  • 举报
回复
如果你的客户端和数据发送端不使用同一个MsComm实例对象,你根本无法同时使用一个串口,当然如果你的机器有多个串口就另当别论了。

假如你的机器仅有一个串口而又不想跟另一台机器进行连接,同时又希望多个程序同时一个串口,VB有一种解决方案,就是使用ActiveX EXE进程外组件编写一个串口数据服务程序。
KissApple 2006-03-17
  • 打赏
  • 举报
回复
我现在测试了一下,如果在一个程序中测试,用文本框显示接收到的数据(串口2、3脚已连通)那么可以收到数据,但是我现在需要做一个模拟的客户端,所以我做了一个客户端软件来显示串口接收的数据,可是oncomm事件不触发。
是不是必须要用串口跟另一台机器连接才行啊?
benyfeifei 2006-03-17
  • 打赏
  • 举报
回复
CF是代表回车换行:vbCrLf=Chr(13)+Chr(10)
ctrl+z=Chr(&H11)+Chr(&H7A)

发送时在你的字符串后面直接加上就行,比如"Your String"+Chr(13)+Chr(10)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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