串口通信问题请教

缭绕飘渺 2012-05-24 09:55:36
我以115200波特率写入AT指令返回正常,然后关闭串口,设置波特率为2400。
打开串口,以2400波特率开始写入数据信息(多条),分条写入。设备就不返回数据
发现使用一个51串口调试comdebug设备可以返回信息
2400波特率下,我每写入一条,正常情况下设备应该响应一个06
但是不管我怎么设置,设备始终不响应
路过的给点指导意见。
...全文
93 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
anzhiqiang_touzi 2012-05-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
不是吧,波特率要与设备匹配,不是随便设置的,除非你的设备支持多波特率,你问问厂家
[/Quote]
doubleu2005 2012-05-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
错误的原因是由于我的疏忽,一直认为串口监视工具会自己读取串口的值
实际上他并没有读取
我现在在程序中添加了串口读取事件
想问的是我怎么判断到返回值了再继续发送下一条语句
使用一个bool变量在发送时判断,接收到返回字符后设置为True
接收不到设置为False
因为我有1千多条数据往串口写,分开写的
如何简单实现判断到返回值后再继续写串口
[/Quote]

一般的AT指令在接收信息成功后会有一个“OK”,可以根据这个判断
缭绕飘渺 2012-05-24
  • 打赏
  • 举报
回复
也就是实现如下顺序
发送.....
(接收到)
发送....
(接收到)
发送...


一直这样的顺序
缭绕飘渺 2012-05-24
  • 打赏
  • 举报
回复
错误的原因是由于我的疏忽,一直认为串口监视工具会自己读取串口的值
实际上他并没有读取
我现在在程序中添加了串口读取事件
想问的是我怎么判断到返回值了再继续发送下一条语句
使用一个bool变量在发送时判断,接收到返回字符后设置为True
接收不到设置为False
因为我有1千多条数据往串口写,分开写的
如何简单实现判断到返回值后再继续写串口
缭绕飘渺 2012-05-24
  • 打赏
  • 举报
回复
我是直接用串口监视工具监视到的信息
按照监视到的信息过程自己在程序中实现
也就是模仿别人的功能
Soloboy1020 2012-05-24
  • 打赏
  • 举报
回复
这个还真不好说,主要得看设备情况
bdmh 2012-05-24
  • 打赏
  • 举报
回复
不是吧,波特率要与设备匹配,不是随便设置的,除非你的设备支持多波特率,你问问厂家
缭绕飘渺 2012-05-24
  • 打赏
  • 举报
回复
我后面就不是AT指令了
所以要切换波特率的
自己慢慢搞

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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